MVC Reading An Element's Custom Html Attribute When Submitting?
Nov 13, 2010
I'm new to ASP.NET and MVC in particular. Now, I'm trying to understand if I can easily get values of custom attributes of submitted data. For example, When writing something like this inside a form (which works and posts and I can get the checkbox value) <%= Html.CheckBox("cb1", new { listen = "listen:6" }) %> Can I get the value of "listen" directly or do I need JS? (I know I can just use hidden fields, but I'm I'm asking anyway)
An error occurred during the processing of /_layouts/MyPage/Info.aspx. Literal expressions like '<%$Resources:wss,okbutton_accesskey%>' are not allowed. Use <asp:Literal runat="server" Text="<%$Resources:wss,okbutton_accesskey%>" /> instead
That doesn't work in this situation as that would mean nesting the Literal between the quotes of the accesskey attribute, which causes a "The tag contains duplicate 'ID' attributes" error.
Is there a way to use a string from a resource without having to change the input to an asp:Button? I guess there has to be a way using <%=, but I don't know how I would address the resource itself?
I have an asp.net page where i have the below markup.Basically this markup is generated from codebehind by reading records from a table and looping thru them.For each record in table,there will be a div block. Basically this form is to read/show settings for a user.The settings entries are stored in a table.
The id's of each input element will be unique. Now in codebehind i want to read the values of each input elment to save the changes user made.How can i read the elements here ? Since the mark up is generated in codebehind as a string and appended the the INNER HTML of the external div,I cant read values like we do for a control which we drag and drop in the IDE.
I created a simple Master Page in Visual Studio 2008:
<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
and got green underlined 'Master' with two warning messages: 1.Validation (ASP.NET): This attribute name must be followed byan equal (=) sign and a value. If the value is in quotation marks, the quotation marks must match. 2. Validation (ASP.NET): Attribute 'Master' is not a valid attribute of element 'Control'.How I can get rid of the messages?
public class CustCtl : WebControl { protected override System.Web.UI.HtmlTextWriterTag TagKey { get { return HtmlTextWriterTag.Div; } } }
With this bare bones control, it would render the root element as a Div tag. But how can I add attributes to that root HTML element that this control will render .
I have a button that does a postback to server then back to client and finally to the action attribute of the form element.When the page post back to the client the onload <script>document.frm.submit()</script> finally submits the form to the action attribute of the form.I would like to eliminate the unnessasay post back to the client.Below is the code the runs on the server.
I have a VS 2003 Web app that I'm creating. I'm using a Panel control and I'm trying to apply a CSS class to this panel. However, when I try coding the following statement
<asp:Panel class="pnl2" runat="server">
it doesn't like the "class" attribute saying "could not find any attribute 'class' of element panel"? I'm used to using VS 2005 and higher and haven't seen this before. What am I doing wrong?
I have some 50 pages of html which have around 100-plus rows of data in each, with all sort of CSS style, I want to read the html file and just get the data, like Name, Age, Class, Teacher. and store it in Database, but I am not able to read the html tags
e.g space i kept to display it here <table class="table_100"> <tr> <td class="col_1">
I've been tryin to find an example of the syntax for getting an html 'title' for a string when using Html.Encode(). I want to display the full name in the mouseover title, if it's too long.
Is there a way to do this without wrapping the string in a < span >, i.e.
<span title = "<%=Html.Encode(model.Name) %>"> //displays the full name on mouseover <%=Html.Encode(model.Name.Substring(0, 10))%>... //displays the name up to a max length </span>
Using the HTMLHelper's strongly typed methods on an instance of UserAccount my HTML elements are given IDs like:
id="PhoneNumber" id="Credentials.Username"
This is awesome, it's great really. What I want is to be able to generate the same ID for a property in my controllers. My purpose is to link some additional error messages to the ID's. I can always just guess what it will be and enter it into the code, but I prefer to have a strongly typed way to do this. Does on exist?
Supposing I have a user control like this <MyTag:MyWidget runat="server" /> I am wondering if I can do something like <MyTag:MyWidget runat="server" MemberHeight="400" PublicHeight="200" /> So that in MyWidget.ascx I can have <div height="<%=IsLoggedIn ? MemberHeight : PublicHeight%>"> or something like that...? Because I want the height to vary in each page that is using this widget.
I want to create a single custom authorization attribute to be added to controller actions that require authenticated users.
My first shot at this, so I may have it all wrong
Got 3 Roles which corresponds to 3 Areas in my application (Client app, so I'll just call them RoleOne, RoleTwo, RoleThree and AreaOne, AreaTwo, AreaThree).
Each area have similiar (to a point) views and actions, like Sign Up, Area specific home, etc.
In the attribute I want to determine the current area, controller and action. Then I just add code like:
If not logged in, and in AreaOne, go to AreaOne Signup (etc)If logged in as RoleOne, and AreaOne Home is requested, go there, but if AreaTwo Home is requested ,go to AreaTwo Signup So in my attribute class I need to determine the current area, controller and action, and see what kind of user we have logged in (if any)
Using ActionExecutingContext it seems I can determine the contoller and action method names, however I cannot find the Area name, and altered the attribute to be called like this:
I am working in a CMS where we use tokens ( which is turned into a user control. Is there a way to add the user control into an attribute value for our template style? example :
<div class="<$tokenName/$>" />
this currently outputs an encoded user control, which is then not parsed by IIS.
I have a large string containing a custom HTML tag (xxx). The tag also has two attributes. How would I retrieve the value of the two attributes and then place the tag and its content with a new string derived from those two attributes?
I'm trying to add a new html attribute to my ValidationSummary Html control like this:
<%= Html.ValidationSummary(new { id = "validationSummary" })%>
VS compiler has no problem with it, however when it comes to running it in the browser I get the nasty error message saying:
'System.Web.Mvc.HtmlHelper<Adgistics.Mvc.ViewModels.Forum.IForumCreateOutModel>' does not contain a definition for 'ValidationSummary' and the best extension method overload 'System.Web.Mvc.Html.ValidationExtensions.ValidationSummary(System.Web.Mvc.HtmlHelper, string)' has some invalid arguments