我想使用@Html.DisplayFor
助手将我的对象绑定到我的视图。然后单击编辑按钮并将其更改为@Html.DisplayTextBoxFor
帮助程序。我想在客户端进行此更改。
例如:使用下面的视图
@Using Html.BeginForm("profile", "user", FormMethod.Post)
@<h2>User Profile</h2>
@<div>
@Html.LabelFor(function(m) m.email)
@Html.DisplayFor(function(m) m.email)
</div>
<input type="button" class="btn-primary" value="Edit Mode" />
<input type="submit" class="btn-primary" value="Save" />
End Using
点击“编辑模式”按钮,我希望电子邮件成为可编辑的文本框。我将以表格形式提交。
答案 0 :(得分:0)
在这种情况下,您不必使用DisplayFor()
@Html.TextBoxFor(x => x.email, new {@readonly = "true", id = "email"})
<input type="button" class="btn-primary" value="Edit Mode" id="edit" />
然后使用JQuery
<script>
$('#edit').on('click', function () {
$('#email').attr('readonly', 'false');
});
</script>
您需要为要访问的按钮添加ID。
答案 1 :(得分:0)
你问的是不可能的。您无法在客户端上运行服务器代码。
因此,您必须选择其他选项:
PartialView
输出并加载它代替显示部分(例如,您可以使用jQuery从服务器获取实际结果);