如果我的HTML看起来像这样:
<td class="controlCell">
<input class="inputText" id="SearchBag.CompanyName" name="SearchBag.CompanyName" type="text" value="" />
</td>
Run Code Online (Sandbox Code Playgroud)
我怎么能用JQuery选择#SearchBag.CompanyName?我无法让它发挥作用,我担心这是打破一切的点.令人讨厌的是,重命名我所有的id将是很多工作,更不用说可读性的损失.
我正在尝试使用 RemoteAttribute 来验证使用 JSON 的数据元素服务器端。我的数据字段是:
[Display(Name = "My Number")]
[Required]
[Remote("IsValidMyNumber","Home",ErrorMessage="Bummer")]
public string MyNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)
我的控制器是:
public JsonResult IsValidMyNumber(string MyNumber)
{
var test = services.ValidateMyNumber(MyNumber);
return Json(test,JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
我的观点是:
<div class="editor-field">
@Html.EditorFor(model => model.CheckInformation.MyNumber)
@Html.ValidationMessageFor(model => model.CheckInformation.MyNumber)
</div>
Run Code Online (Sandbox Code Playgroud)
生成的 HTML 是:
<input class="text-box single-line" data-val="true" data-val-remote="Bummer"
data-val-remote-additionalfields="*.MyNumber" data-val-remote-url="/Home/IsValidMyNumber"
data-val-required="The Number field is required." id="CheckInformation_MyNumber"
name="CheckInformation.MyNumber" type="text" value="" />
Run Code Online (Sandbox Code Playgroud)
当我调试并进入我的控制器时,“MyNumber”参数为空,即使我在它代表的文本框中有文本。
我知道文本框中的名称必须与参数中的名称相同,并且我已经验证了这一点。
有任何想法吗?