要使用AngularJS验证状态,我需要通过名称引用表单。但是我的表单没有名称,我不知道如何设置名称,除了使用Javascript,我不想这样做。当我将name
属性添加到<form runat="server">
时,它不会出现在输出HTML中。
工作理想的示例:
<form name="form">
<div ng-app="myApp" ng-controller="myCtl">
First Name: <input type="text" name="firstName" ng-model="firstName" required><br>
<span ng-show="form.firstName.$dirty">Dirty</span>
</div>
</form>
解决方案可能是以下两种方法之一:
name
属性答案 0 :(得分:1)
ASP.NET controls have been modified in the .NET Framework version 4.
HtmlForm控件不再呈现名称属性。
要禁用新的呈现模式,请在Web.config文件中添加以下设置:
<system.web>
<pages controlRenderingCompatibilityVersion="3.5" />
</system.web>
答案 1 :(得分:0)
您可以使用以下代码从Web代码控件添加属性:
controlName.Attributes.Add("name","value");
<asp:TextBox ID="controlName" runat="server"/>
或者如果您想在.NET 4中使用Ids,您可以设置属性ClientIDMode,例如
<asp:TextBox ID="controlName" runat="server" ClientIDMode="Static"/>
然后你可以用ID
来引用它HTH
答案 2 :(得分:0)
使用jQuery修改表单标签
$('#form')。attr('name','form');