我已经创建了一个ASP.NET MVC应用程序,并希望在发送回控制器之前在文本框中使用值做一些“东西”。
所以我有一个表格中的文本框:
using (Html.BeginForm("HandleForm","Home")
{
<p>Enter Value<p>
@Html.TextBox("amount")
<input type="submit" value="Submit" />
}
通常我会在JS中使用这样的东西:
var value = document.getElementById(ID).value;
那么我如何使用HTML Helpers做到这一点?是否可以给这个文本框一个id?
答案 0 :(得分:1)
您无法获得HTML帮助程序,但这可能会对您有所帮助。
var value = document.getElementById('@Html.Id("amount")').value;
使用@Html.Id()
Html Helper,您将获得该特定viewData的ID
答案 1 :(得分:0)
当然,您可以将Id
,Class
和各种Html
attributes
分配给任何Html Helper
,因为这些帮助程序会被解析为普通html
标记。
E.g
@Html.TextBoxFor(m=>m.amount,new { id = "txtAmount", class="anyClass" })
or
@Html.TextBox(m=>m.amount,null,new { id = "txtAmount", class="anyClass" })
将其解析为
<input id="txtAmount" name="amount" class="anyClass" type="text" />
然后在javascript中,您可以访问此控件的值
var value = document.getElementById("txtAmount").value;
答案 2 :(得分:0)
我们可以在mvc
中使用html助手时指定其他html属性http://msdn.microsoft.com/en-us/library/dd493049(v=vs.118).aspx
html属性被指定为简单对象 例如
new { id = "text1", maxlength="20", size="15" }
方法签名
public static MvcHtmlString TextBox(
this HtmlHelper htmlHelper,
string name,
Object value,
Object htmlAttributes
)