HtmlHelper Using ViewContext.Writer Not Rendering Correctly?
Aug 30, 2010
I am building a simple CMS with asp.net MVC and I have almost all the parts working. I have one minor issue which I can't work out how to solve. I have a Html helper method that renders the content of area. This method however uses the Response.Write to write its content rather than returning a string. The reason for this is that I'm performing a partial request and hence do not have a string to return.
My template body looks like this:
<body>
<h1>Default Template</h1>
<% Html.ContentArea("Main"); %>
</body>
The problem I'm having is that the content renders above the H1 tag. My understand was that the h1 should already be in the response and my call to response.Write() would therefore append content after that point. This is obviously not happening. What am I missing here.
I've used partial requests before and they always render in the correct place. I haven't yet used them with MVC 2, this could possibly be the problem.
Below is the content area extension method. The widget render method varies and is where the partial request occurs. However even the start and end container tag render above h1 so it has to be something fundamental I'm doing wrong.
public static void ContentArea(this HtmlHelper htmlHelper, string areaName)
{
var container = new TagBuilder("div");
container.GenerateId(areaName);
container.AddCssClass("content-area");
[Code]....
View 1 Replies
Similar Messages:
Oct 18, 2010
I want to add the href attribute to a link element. This is my code:
[code]....
What went wrong and how can I fix this issue?
don't answer that I could assemble the string in some other way. I want to know how I can achieve this with the HtmlTextWriter
View 1 Replies
Mar 15, 2011
When I add an ajax combobox (WindowsStyle Css) to a web page that uses a masterpage the arrow button is vertically offset from the rest of the combobox. however if I add it to page without masterpage then it works fine.I am using the images and provided css styling provided by ajax toolkit. I tried removing the site css file but that didn't help either. Any ideas what could be causing this? Code is below for a sample in Master/Content Page:
[Code]....
View 3 Replies
Aug 22, 2010
I've encountered was appears to be a strange bug with the menu control, and alas, I am unable to find much useful information on it (which leads me to believe I have something installed or confingured incorrectly). Here the problem:
When declaring a menu control with a staticHoverStyle, for example:
<asp:Menu
ID="navMenu"
DataSourceID="srcSiteMap" [code]....
Has no effect on the behavior of the control once it's rendered, neither in Firefox nor IE.In fact, using the source code at
http://msdn.microsoft.com/en-us/library/ms366731.aspx with no modifications also results in the hoverstyle not working.
This problem seems to be "fixed" if you specify the css attribute declaratively, for example, StaticMenuItemStyle-BackColor="Yellow".
Alternatively, if you specify RenderingMode="table" then the hoverstyle seems to work. It's only when you're using a cssclass with a list that things seem to mess up.
Finally, I notice that in the rendered html, the control embeds some styles between /* <![CDATA[ */ and /* ]]> */ comments that affects the final appearance of the menu control, sometimes overwriting a cssclass you specified (ex: the margin for dynamic menus can only be controlled with the HorizontalOffset property, and not by css). This is undesirable, but I don't see anything that seems to overwrite the behavior of hover elements. Actually, the .hoveritem class doesn't appear anywhere in the markup at all, but when you specify the StaticMenuItemStyle-BackColor property, then the value is rendered correctly in this block of styles.
View 3 Replies
Feb 15, 2010
I've defined node styles for my TreeView instance in markup (using <LevelStyles> for example). Everything renders correctly in IE7/8 but, when rendering in Chrome, Safari or FireFox, the styles are not being applied. From looking at the source code for the page, I can see that the various runtime css classes are being injected into the top of the page, but the class attributes on the <a> tags (within the generated TreeView HTML) are empty (class=""). In IE, the class attributes contain references to the classes that were injected into the page.
Can anyone explain why this is happening? I can see no logical explanation for this, and it's a big issue - My client primarily uses Safari, as they're Mac based.
View 1 Replies
Feb 19, 2010
I would like to create a static helper method that I can call from a view.
Is it possible for a helper method to have access to the current ViewContext without needing to explicitly pass the ViewContext to the method as a parameter?
Something like HttpContext.Current except for ViewContext.
View 1 Replies
Jan 9, 2010
I would like to extend the HtmlHelper by using metadata (similar to DataAnnotaions metadata). Specifically I want to be able to add a 'Title' attribute to html controls that will then appear as a tooltip on the control. I would like to keep the tooltip text with my model, for example by adding 'Tiltle' metadata to the model as follows:
[DisplayName("User Id")]
[Title("Enter your 10 digit user id")]
property UserId { get; set; }
So the questions are:
1. How do I add metadata (such as 'Title') to my model?
2. How do I access this metadata in my HtmlHelper extension method?
[code]....
View 4 Replies
Jul 2, 2010
Is there is a way I can convert my aspx page to PDF using the Adobe writer?
I have visited all the posts in asp.net forums ( Is there any solution in which I don't have to use a third party tool )
View 6 Replies
Sep 20, 2010
If I have a the following model
[Code]....
And the following generic control template writer (which would have to be extended appropriately)
[Code]....
I would like to be able to add an attribute either builtin or something I create, such as
[Code]....
The generic template writer would then automatically create a Select box instead of a textbox for this item, and populate it with the list I have passed.
There may need to be another property set to have it write option boxes or radio buttons.
The question has two parts: (1) Is this an appropriate metaphor? and (2) Can you point me to an example that does this or to an appropriate metaphor.
What I want is a generic control writer that looks at the type of the object, writes the appropriate html, and a way to pass in external data for things like lists and enums.
View 3 Replies
Feb 19, 2011
I am new to MVC and I am trying to create my own extension method so that I can add onto the html helpers that are available in my razor views. Html.DropDownListFor() lets you create a drop down list for any propery on your model. I would like to create a helper called Html.StateDropDownListFor() that does the exact same thing, except loads the drop down with all 50 US states. This way I don't have to create a SelectList for every single state drop down that I create. What is the easiest way to do this? Right now I have this:
[code]....
Am I even close? I don't want to rebuild a whole text box helper, I just want to create a helper that utilizes the existing text box helper but does the SelectList for me. That way in my views I could just do Html.StateDropDownList(x => x.State)
[code]....
View 2 Replies
Sep 20, 2010
How can I call HtmlHelper methods outside of a view? I want to call Html.ActionLink from a C# method. Then use Response.Write to write the output from ActionLink to the output stream of a view. Is there a server side equivalent of HtmlHelper.ActionLink?
View 1 Replies
Mar 25, 2010
i have a very big problem: i've created a new test html helper:
[Code]....
i can call it but the first param that i need to pass is htmlHelper and not text as i should do. Why?
View 9 Replies
Jan 3, 2010
I am trying to debug a problem where HtmlHelper is null in extension methods. Oddly the debugger claims it's fully populated, however I consistently get null exceptions. I'm trying to figure out where HtmlHelper should being instantiated in an attempt to see where my problem may be.
Where should HtmlHelper be Instantiated?
Update: In particular I am trying to implement the extension found here, [URL] within a masterpage. The error occurs on the MVC template's HomeController.Index(). There are some 'plugins'/virtualpathing that may be causing the problem (trying to avoid this can of worms), but, code the code is essentially the same as found here: [URL]. However, I don't want to trouble anyone with the details of all of that.
View 2 Replies
Jul 23, 2010
I am on the way to manpulate existing generice GRID creation, i am stuck as it was using [Code]....
to create action links. I am missing this reference in MVC 2 framework.
View 6 Replies
Aug 24, 2010
I am developing a Web app that is based on ASP.NET 3.5, and i added some page from ASP.NET MVC, everything is ok, until i use the "HTML" helper class, then the page is not being able be render, because this is not recognized.
For Example : Html.BeginForm() => this is not recognize as a method
But if i used "System.Web.Mvc.Html.FormExtensions.BeginForm", which is a extension method itself, it work fine.
Environment : ASP.NET MVC 2 and ASP.NET 3.5
View 1 Replies
Nov 24, 2010
My View inherits Models.MyModel
<%@ Page Language="C#" MasterPageFile="Something.Master" Inherits="Models.MyModel>" %>
I need a property Model.Something to be available in a HtmlHelper method when I call it from this view.
<%= Html.CustomHelper(...) %>
Is there any way to access this? Maybe via ViewContext or ViewDataDictionary?
I do not want to explicitly pass Model.SessionKey for each helper I call.
View 2 Replies
Jul 1, 2010
I am using VS2010 & MVC2 to develop a web app. I noticed that HtmlHelper.LabelFor doesnt contain an override that accepts either a css class or html attributes. I was thinking about writing my own override for this, but am struggling with it.
The current LabelFor method accepts a lambda expression and automatically extrapolates the property name, display name (if specified via [DisplayName] attribute and value and generates the label. How do I write my overridden to do the same, but also insert any htmlAttributes specified such as class, style etc.
View 5 Replies
Feb 11, 2011
I am having some trouble with returning a View in response to an ActionResult method being invoked. In my view I have a ViewData which holds a value which is being read. Current process.. user selects 1 of three radio buttons, and clicks a button to apply the selection, which in turn triggers method which sets the form ..
this.form =
this.htmlHelper.BeginForm("GridEditingMode",
"Classification")
Now in my controller, I change the value in the ViewData and simply which to return to the View();. Here is we're the fun starts.. I receive the following message, and cannot get around it. The view 'GridEditingMode' or its master was not found. The following locations were searched:
[Code]....
View 2 Replies
Aug 16, 2010
am currently stuck with this problem of displaying an image using HtmlHelper class.Here is what i have.
I have a custom HtmlHelper class which supposed to display an image:
[Code]....
[Code]....
I managed to get to the controller, but image shows as null. Is there a way around it ? or maybe an even better way to do this?
View 1 Replies
Mar 2, 2011
i have a class ProductCategoryViewModel
public class ProductCategoryViewModel{
public List<Category> Category { get; set; }
}
List<Category> Category is my database table having two properties Category_Id and Category_Name
and a strongly typed ProductCategoryViewModel View in which a ListBoxFor HtmlHelper is filled with Category_Name and Category_Id
public ActionResult Index(ProductCategoryViewModel model)
{
if (ModelState.IsValid)[code]....
In this Article is also my Database table defined in Linq to Sql classes. I want to get selected value and text from HtmlHelper ListBox to insert it to my Article table
View 8 Replies
Mar 9, 2011
I have created a custom html helper as follow:
[Code]....
In my View, I am using it like this:
[Code]....
However, for some reason nothing gets rendered!
View 4 Replies
Aug 24, 2010
I'm trying to override all the Html.TextBoxFor etc. methods. I want to make them non-static methods in a class that extends ViewUserControl. But, according to intellisense, Html does have access to these methods; they simply don't appear. So basically I want to do something like:
[Code]....
But I'm not getting the syntax right.
Basically just trying to wrap the TextBoxFor call so that my ViewUserControl can drop in a unique id each time.
View 2 Replies
Jul 6, 2010
I saw this implemented somewhere but basically below I'm using the textbox HTMLHelper to draw a textbox with the id myID and default text 'text_goes_here'. I want to also add a class to thiis helper, i saw somewhere it implemented with new {@class =''} as a third parameter creating an object but im not sure exactly how its wrote
<%= Html.TextBox("myID", "text_goes_here") %>
View 1 Replies
Nov 26, 2010
I'm trying to create a jquery template using the HtmlHelper.ActionLink. By default it url encodes the parameters, which causes a problem for the syntax needed for the template. Is there a way to override the encoding.
In this example
<script id="itemTemplate" type="text/x-jquery-tmpl">
@Html.ActionLink("Details", "Details", new { id = "${ID}" } ) | ${Last} | ${First} <br />
</script>
the generated code for @Html.ActionLink ends up being
<a href="/User/Details/%24%7BID%7D">Details</a>
What I'd like to end up with is
<a href="/User/Details/${ID}">Details</a>
<script id="itemTemplate"
type="tex
View 2 Replies
Jun 29, 2010
When upgrading to mvc2 i noticed some of my javascript that was keying on "Points[0]_Id" (this is invalid for an html id btw) started to fail. I pulled up the source and noticed that the TagBuilder class now generates valid client id's and replaces all invalid characters with the "IdAttributeDotReplacement" (which is a terrible name now, since it's not just a dot replacement character anymore). I started to look for a way to generate client id's using a helper built into mvc and came across HtmlHelper.GenerateIdFromName, but this still generates ids the invalid way!
TagBuilder.GenerateId( "Points[0].Id" ) = "Points_0__Id"
HtmlHelper.GenerateFromName( "Points[0].Id" ) = "Points[0]_Id"
IMO: the tagbuilder class or the GenerateFromName code should not be duplicated in two different spots or else you will get errors like this. Also I consider this change made to TagBuilder.GenerateId to be a breaking change and should be included in the breaking changes section of the release notes.
View 2 Replies