How To Use If Statements With Razor And Inline Code Blocks
Jan 22, 2011
I'm updating my old .aspx views with the new Razore view engine. I have a bunch of places where I have code like this:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
Ideally I'd like to do this:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
However there's two problems here:
vote-up@{puzzle.UserVote .... is not treating the @ symbol as a start of a code block @puzzle.UserVote == VoteType.Up looks at the first part @puzzle.UserVote as if it's supposed to render the value of the variable.
View 1 Replies
Similar Messages:
Mar 10, 2010
I've got a repeater on my asp.net (VB):
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Question_Number") %>' />
<%#Eval("Question_Desc")%>
Now what I want to do is, check a value that I haven't used called "Question_Type" which could be = 1, 2 or 3 depending if it is multiple choice, short answer, etc. I have tried this:
<%
if Eval("Question_type") = 1 then
Response.Write(" <asp:RadioButton runat=""server"">test1</asp:RadioButton>")
Response.Write(" <asp:RadioButton runat=""server"">test2</asp:RadioButton>")
Response.Write(" <asp:RadioButton runat=""server"">test3</asp:RadioButton>")
end if
%>
and I get this error: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control. HOW can I use this value in a if statement?
View 1 Replies
Dec 17, 2010
Multi-Token Statements
The @( ) syntax enables a code block to have multiple tokens. For example, we could re-write the above code to concatenate a string and the number together within a @( code ) block
View 5 Replies
Aug 31, 2010
This is the code i have used to get LocationID from database with MerchantID. I am getting an exception from Fill dataset part. The error is Error converting data type varchar to bigint.
public DataSet getLocationID(long MerchantID)
{
//long LOCID = null;
try
{
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter("@merchantID",MerchantID)
};
string strCommandText = "Select LocationID from Merchant_Location where MerchantID ='@merchantID' order by LocationID ASC";
Debug.WriteLine(strCommandText);
DataSet pds = new DataSet();
SqlHelper.FillDataset(DbConnString, System.Data.CommandType.Text, strCommandText, pds, new string[] { "LocID" }, parameters);
return pds;
}
catch (Exception ex)
{
//LogError("Error Occurred When Retrieving LocationID: " + MerchantID.ToString(), ex);
return null;
}
}
View 2 Replies
Jul 28, 2010
How can I achieve the desired effect?
Here's the code:
<% if(!String.IsNullOrEmpty(%><%#Eval(Container.DataItem,"OrderXml");%><%)){ %>
etc., which is placed inside of an ItemTemplate inside of a TemplateColumn. In the CodeBehind page I will bind a value to the OrderXml field, which occasionally is NULL.
Unfortunately I get compilation errors.
View 1 Replies
Dec 11, 2015
I have this razor code ...
Code:
<ul>
<li>
@("hello <i>world</i>")
</li>
<li>
hello <i>world</i>
</li>
</ul>
When I run it the italic attribute works on the second item, but not on the first. I'm guessing it doesn't work because it's being passed as a literal string and the html formatting is lost.
How can this be made to work?
The reason I ask is because in my project, the text for the list item is stored in a database and I want the ability to include formatting for the item at the database level.
Code:
@Html.Raw("hello <i>world</i>")
However, I am not getting the result I need, so here is a bit more code....
Code:
@helper addNodes(dcNode As DocumentContent)
@<li id=@dcNode.Id>
@dcNode.nodeTitle <--This results in "White Papers - <i>New</i>"
@Html.Raw(dcNode.nodeTitle) <--The truncates the string at the tag and results in "White Papers -"
@If dcNode.children.Count > 0 Then
@For Each childNode As DocumentContent In dcNode.children.Values
@<ul id=@dcNode.nodeTitle>@addNodes(childNode)</ul>
Next
End If
</li>
End Helper
This is a recursive helper that populates node for a jsTree and works fine, but the inline html is not working. Here is what the result looks like.
The text for each li is shown twice because I am showing it once without and once with HTML.RAW. Notice the "White Paper" item... the second text is truncate at the <i> tag.Why is this and how can I fix it?
View 1 Replies
Sep 28, 2010
where we use <%@ %> <%= %> <%# %> etc.
what else asp tags can be added in asp.net web pages?
View 2 Replies
Feb 3, 2011
I am writing a dynamic control that I want to pass in something along the lines of the following:
HyperLink myLink = new HyperLink();
myLink.NavigateUrl = "/Home.aspx?id=<%= DataBinder.Eval("PageId") %>";
myLink.Text = "The link";
myControl.Controls.Add(myLink);
I want to be able to resolve the myLink.NavigateUrl at run-time according to the context that myControl puts the control into in the end (this is not a WebControl and therefore adding to the collection of controls doesn't output to page).
View 2 Replies
Mar 24, 2011
Is it possible to do something like this in regular ASP.NET (or something similar):
<ul>
<% foreach (var item in Model) { %>
<li id="<%: item.Id %>">
blah blah
</li>
<% } %>
</ul>
I need to do a gird, but I want to control how the html table is output.
View 3 Replies
Feb 1, 2010
I'm building an asp.net app using themes, and I've assigned a theme to the app using the web config.
I have a bookmark icon that I want to use for my page and it is located in the themes directory, but I am having trouble referencing the themes location from a link tag in my header.
First I tried putting a code block inside the link tags href element, which did not work. Instead all it did was html encode the <% characters and output it directly to the browser:
<link rel="shortcut icon" href="/App_Themes/<%=Page.Theme %>/images/bookmark.ico" type="image/x-icon" runat="server"/>
I am able to put a code block inside an element in an hr tag though, so I don't know why it won't work in a link tag:
<hr test="<%=Page.Theme %>"/>
Then I tried doing a Response.Write inside the head tag, but I got an error saying the Controls collection cannot be modified because the control contains code blocks:
<% Response.Write("<link rel="shortcut icon" href="/App_Themes/" + Page.Theme + "/images/bookmark.ico" type="image/x-icon"/>"); %>
I also tried it just with a string literal, and got the same error:
<%= "<link rel="shortcut icon" href="/App_Themes/" + Page.StyleSheetTheme + "/images/bookmark.ico" type="image/x-icon"/>" %>
Is there any way to reference something from the themes directory inside the link tag?
I'm trying to do this in both an ASP.NET 2 and an ASP.NET 2 MVC app.
View 3 Replies
Mar 27, 2011
i saw few of solutions for this exception (like putting it in place holder, or replace the <% to <# ...etc) , but i don't get the idea about it, i mean what is the controls collection? and why it can't be modified if the added control contains code blocks?
View 2 Replies
Aug 11, 2010
I recently put some code <% %> code blocks in my Master Page. Note I've read of the "fix" for either moving things out of <head> or using <%# %> but neither of them work well for my application.
Now the weird thing is that I only get this error on one page of mine. All the other pages seem to work fine, so what actually causes this error? There is nothing I can think of that is unique about this page. It uses the script manager as does other working pages and there is just nothing extraordinary about this page. It does have quite a few custom controls on it, so hunting down what is different in this page is more difficult than usual.
So what actually causes the Controls collection cannot be modified because the control contains code blocks exception?
View 3 Replies
Dec 18, 2012
Error: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)
I have the following in my master file to load a dynamic seasonal background image:
HTML Code:
<style type="text/css">
body
{
background-image:url("<%=backgroundImage%>");
background-position: top center;
}
</style>
It works fine on most of my pages, but on one it throws the above error.
View 1 Replies
Nov 21, 2013
We are using Infragistics' WebDataGrid, but this question probably applies to all other grids. I am new to Infragistics (actually have worked with their controls years ago, but feeling new regardless!) and this application as well. So I'm looking to its existing code as a model.
I want to have a column called Tobacco with a Y or N value depending on if Smoker is true/false.
Ideally, the whole thing would be something like this:
Code:
<ig:BoundDataField Header-Text="TobaccoUse" Key="Smoker">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.Smoker") != DBNull.Value ? (DataBinder.Eval(Container, "DataItem.Smoker") == true ? "Y" : "N") : "N"%>
</ItemTemplate>
Because I want to check for a null first and when I know I don't have one, test the value.
But since I am getting an error on that I am trying to start simple and build it up. I am getting the same error on this:
Code:
<ig:BoundDataField Header-Text="TobaccoUse" Key="Smoker">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.Smoker") == true ? "Y" : "N"%>
</ItemTemplate>
The error is: Code blocks are not supported in this context.
Why is this a code block and should it be something else? What is my context?
This is an example of a line that works:
Code:
<ig:TemplateDataField Header-Text="DOB" Key="DOB">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.DOB") != DBNull.Value ? Convert.ToDateTime(DataBinder.Eval(Container, "DataItem.DOB")).ToShortDateString() : ""%>
</ItemTemplate>
</ig:TemplateDataField>
I don't know if I need a Convert.ToBoolean in there somewhere but I tried and it didn't work and at this point I am just guessing which will take a long time for me to get it right.
View 2 Replies
Feb 28, 2010
I have a page with a Textbox, a Button and a Label control. On Button_Click event , I store the value of Textbox in a variable called S using code behind.
I want to show the value of S in the Lable control using inline code but not using the code behind. ?
View 2 Replies
May 7, 2015
I have web.confing file when adding tag page for set theme
After running project i have this error:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
<pages theme="Theme" styleSheetTheme="Theme" clientIDMode="AutoID" />
View 1 Replies
Apr 27, 2016
I am getting http exception in of the method of class file (search.aspx.vb) like "The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)",
I have tried placing Java script function in the body of Master page from header, whereas I just removed the Java script tag and its contents in search.aspx (as of its not required now). Still getting exception.
I also know that if we have something like this <%= in Java script function we need to replace with <%#. But I don’t have this kind of code in any function.
View 1 Replies
Feb 28, 2010
How to Use a Variable Defined in Code Behind File on inline code for same page..
View 7 Replies
Feb 23, 2011
I'm using the 'Configure Data Source' wizard to connect to my database and show the dataset in Gridview. I want to be able to update, insert and delete entries but am unsure how to build the query. I can write simple update statments to change database entries but how can I do this for entries that have been changed within the gridview?
View 6 Replies
Jun 9, 2012
I want use meta tag in my page that read keyword from database
I set this code in my product.aspx page
protected void Page_Load(object sender, EventArgs e) {
SqlCommand _cmd = new SqlCommand("select Keyword1 + ',' + Keyword2 + ',' +Keyword3 from House_info where BehCode=1115", _cn);
_cn.Open();
SqlDataReader _dr = _cmd.ExecuteReader();
while (_dr.Read())
[Code] ....
It worked correctly and show my keywords from database and show it in my product.aspx metatag
I have two other page
index.aspx and store.aspx in index.aspx i have 1button and 1 TextBox when user type their BEHCODE(columns name in users table) in TextBox it go to store.aspx page and show that users information on store.aspx
Now i want set meta tag in store.aspx page and i want fill store.aspx meta tag from my users table in data base
This is index.aspx
protected void ImageButton3_Click(object sender, ImageClickEventArgs e) {
string data = Server.UrlEncode(txtNumeric.Text);
SqlCommand _cmd = new SqlCommand("traidname", _cn);
_cmd.CommandType = CommandType.StoredProcedure;
_cmd.Parameters.Add("@BehCode", data);
[Code] ....
Here when i run website this error occur
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
In this line
this.Page.Header.Controls.Add(htmlMeta);
I use this code too
<script type="text/javascript">
$("input[id$=btnButton]").live("click", function () {
return confirm("Do you want to submit?");
});
</script>
But it didn't worked this problem just happen here when i used meta tag code in other page it worked correctly . Why this happen?
View 1 Replies
Sep 30, 2010
In code behind, I get a value that I need to pass to my inline code i.e. <%= myStringVariable %>. How do this?
P.S. The value that I'm trying to send is for a third party control's property. Something like this:
<xyz:SomeThirdPartyControl ID="myID1" runat="server" SomeProperty="<%= myStringVariable %>" />
View 1 Replies
Jan 24, 2012
The code on one of my aspx pages is giving me this error:
I'm getting this on the code behind for export to excel on one of my pages.
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).It is referring to this line Me.GridView1.Parent.Controls.Add(frm)
I have this code in the aspx page. I am using two gridviews. I need to have this on the page any way I can fix the code so I can use that export to excel you created?
<% If(Session("PendingClaims"))%>then display gridview1<%Else%>
Then display gridview2<% End If %>
View 1 Replies
Sep 23, 2010
I was working on an asp.net 3.5 website and used ajaxtoolkit in it and when I use it in my page it was registered as below
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
and it was working well even After I upgraded my wevbsite to .net version 4 but when I started a new website from scratch in vs2010 using .net4 when I use ajax toolkit in this new site it is registered as folowing
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
and when I run the page I get the error The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>) I don't Know what is the reason for this. I noticed another thing. in my old website I was using thckbox script by using the files common.js, jquery-1.3.2.js,jquery.thickbox.js and puting them in a Javascript folder ad then registering them in Script manager as following
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Javascript/jquery-1.3.2.js" />
<asp:ScriptReference Path="~/Javascript/jquery.thickbox.js" />
<asp:ScriptReference Path="~/Javascript/common.js" />
</Scripts>
</asp:ScriptManager>
this was working well also but in my new site the jquery file version was jquery-1.4.1.js but also I added the old version f the javascripts files in the built in Scripts folder that is created by default b the new site and followed the same way in registering them in the script managerchange the JavaScript folder to the built in folder Scripts
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery-1.3.2.js" />
<asp:ScriptReference Path="~/Scripts/jquery.thickbox.js" />
<asp:ScriptReference Path="~/Scripts/common.js" />
</Scripts>
</asp:ScriptManager>
but this doesn't work also in the new site I think that there is something diffirent in the 2 case which leads to this change in performance I wish your support and advice about how to solve this matter
View 4 Replies
Jan 29, 2010
I have a project made with inline code. How can I most quickly move inline code to codebehind for each webform? First, how can I add a codebehind page aspx.c or aspx.vb to one that doesn't have one?
View 3 Replies
Jun 1, 2010
Is it possible to do things in a PHPish way in ASP.Net? I've seen <%= %> but I've tried it and couldn't get it to work. The PHPish equivalent of what I want to do is
<script src="<?php echo ResolveUrl("jquery/js/jquery.js"); ?>"></script>
View 1 Replies