ASPNET MVC:在Javascript中检索非模型字段的字段ID

时间:2013-09-18 12:02:14

标签: asp.net-mvc asp.net-mvc-3

我在MVC视图中有2个字段。 一个是@Html。 TextBox (“txtFirstName”) 第二个是隐藏的 - @Html。 TextBoxFor (model => model.FirstName,new {@type =“hidden”})

hiddenField用于发布目的(因为第一个文本框可以被禁用)。

我的问题是如何在Javascript中检索第一个文本框的客户端ID?我可以通过'@ Html.FieldIdFor(m => m.FirstName)'轻松访问第二个文本框的客户端ID

客户端ID的前缀是modelName,我不想在Javascript代码中进行任何硬编码。

2 个答案:

答案 0 :(得分:4)

在这种情况下,它将是txtFirstName

但你可以明确地设置它:

@Html.TextBox("txtFirstName", "some sample value", new { id = "txtFirstName" })

然后像往常一样访问它:

var value = document.getElementById('txtFirstName').value;

或者如果您使用的是jQuery:

var value = $('#txtFirstName').val();

答案 1 :(得分:1)

在Javascript中使用HTML帮助:

Javascript&剃刀:

var textboxId = '@Html.IdFor(m => m.FirstName)';

有几个扩展名:

@Html.IdFor(m => m.FirstName)
@Html.NameFor(m => m.FirstName)

以下是HTML帮助程序方法的完整列表http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper_methods(v=vs.108).aspx

祝你好运