What is the appropriate way of rendering a child template?And what's the difference? Both seem to work for me.And why does @Html.RenderPartial() no longer work?
I am currently writing a small templating system in ASP.NET to allow users to add content. For example, the user can enter the string (variable type is string).
topHeader[x] = "They think it's all over. It is now!";
However, one change that's needed is the ability to add some basic HTML tags within this content, so the following can be done
topHeader[x] = "They think it's all over. <strong>It is now!</strong>" or
topHeader[x] = "They think it's all over. <a title="Football News" href="URL">It is now!</a>";
If you add such things into strings now they are not formatted as HTML, but I want to somehow escape them so that they can be. Naturally I've looked on the Internet for the answer, but as Razor is fairly new there's not much out there to help me out.
Check out the following: <a href="/test?x=@if (Model.IsTest) { @(1) } else { @(4) }"></a> Is there a better way to write this instead of the @(1) and @(4)?
I'm trying to write a simple declarative html helper: [Code]....
The helper works fine if I embed it into the page I want to use it on. But if I move it to a separate .cshtml file and place that file in the ~/Views/Helpers directory, my view can't be compiled anymore because the helper is not found.According to Scott Gu's blog article on Razor it should work.
The only workaround I have found so far is placing the Html helper in App_Code and Referencing it as @[MYHTMLHELPERFILENAME].Echo(...) . This works but is a bit messy since I don't want to repeat the name of my extension method (Echo.Echo("inputstring"), nor do I want to put all of my html helpers into one single file (something like MyHtmlHelpers.cshtml).It certainly isn't what Scott announced either, so I guess I must be doing something wrong.
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?
I don't know if this is possible but I would like to customize some of the HTML helpers autogenerated in the template. For example, I would like to replace the LabelFor with something that will allow me to specify an image with the label and also a ToolTip property so when you hover over the label you get the tool tip.
I just upgraded my mvc 1.0 project to 2.0 using the wizard. My project builds fine however, my html helpers that I have used, does not render the input's ID tag. For some reason, only some controls render and some do not. For example:
[code]....
I thought it had to do with the fact that the value is empty, but from the two examples, they are nearly identical. Is this a bug? All was working before I upgraded.
It's great that Razor HTML encodes by default. However, many times I have HTML in a database and want to display it literally on a page. In WebForms 4, we can use <%= %> and <%: %> to choose between encoding options. Raven's syntax is currently @(new HtmlString(Model.Greeting)).
add a shorter syntax to Razor. Something like @=Model.Greeting or @@Model.Greeting, or something else.
i'm using some components. When page render, components generate html comment tags. if i'm using this component 10 times on one page, html comments inserted 10 times.
How to remove html comment tag before render page?
For some reason, i have to make a aspx page to let iphone/android to Post form. After the data processing of request.form , i have response a JSON string in plain text. However *.aspx will enforce to render html,head,body tag,so how can i disable it?
I cannot use ashx, because the mobile have to post image via form, as i search the answer by google ,ashx cannot handle the http post files.
Edit: As SLaks said, ashx can handle POST file using "context.Request.Files" and it works.
I have an application that renders HTML code to allow users to preview an email that the app sends out. The HTML is held in a string that is then put into the text property of a label. This is working fine, but now I need to also add XML to the HTML string for an email listener when the user clicks the Send button. The problem is that the XML tags are being ignored by the browser.
I currently trying to convert a ASP.NET MVC2 application to ASP.NET MVC3 razor. I have a lot custom Html helper methods, which render html output, like the one below, which renders a button with some markup :
I am using web user control and making it visible false initially (page load) and on the selection of checkbox i am making it visible true. user control html is missing when i load it on checkbox selection. is there any when that i rebind the complete form again on checkbox selection so that user control html should be rendered.
i am really struggling to solve this issue since last two days.
how to make asp.net page fast render as fast as HTML page, this is my main and urgent requirement,
Acctualy My page conatins lots of data, images and videos from the database, so m facing the problem in page rendring, rendring is too slow, and client requires as fast rendring as HTML, i have studied a lot and found.....
Retrive data with the help of XML creates fast page rendring mean Retrive data from database in XML and then bind all the data in page from that XML file.
When the page loads it works fine. (and lots 10 links) on the update panel it hits the same function and tries to get another 10 links. I set the navigationURL to something like
"../Folder/Mypage.aspx?498592ghjgfosdfgo"
It is set identically both times(load and updatepanel postback) but when i try to render it to html the second time (on the update panel) it adds "../" to the front so i end up with
"../../Folder/Mypage.aspx?498592ghjgfosdfgo"
The function where it changes here
Public Shared Function RenderControl(ByVal c As Control) As String Dim sw As New IO.StringWriter Dim htmlw As New HtmlTextWriter(sw) c.RenderControl(htmlw) Return sw.ToString End Function
c is the hyperlink which has the propertry navigationurl (this never gets changed) but the sw which ends up looking like this on load
Iam getting the below string in a variable"result" after xslt tranformation. if i do Page.ParseControl(result) iam able to render controls to the page. But the requirement is different. I have 4 place holders in that aspx page.I need to bind div id="Section1" to placeholder1, div id="Section2" to placeholder2 and similar the other two sections also to the corresponding place holder. how can i loop and add controls to corresponding place holder.