我尝试使用mvc中的html数据属性重新创建我在winforms时代所做的事情。
您可以使用以下方法在表单控件上设置属性:
txtTest.Attributes.Add("data-myattribute", "my value");
然后在使用以下方式发布表单后再读回来:
txtTest.Attributes["data-myattribute"]
在mvc中添加属性非常简单:
@Html.TextBoxFor(m => m.FirstName, new { data_myattribute = "my value" })
在表单发布后,无法弄清楚如何在动作结果中阅读它们?!
一直在搜索,虽然我可以找到关于如何设置数据属性值并在javascript中阅读的loada帖子,我找不到任何可以告诉我如何让他们回到代码中的内容...
那里的任何人都知道这个神奇的答案吗?!
答案 0 :(得分:3)
数据属性不包含在随表单发布的数据中,因此无法在控制器操作中读取它们。请尝试使用隐藏字段:
<input type="hidden" name="FirstNameAttribute" value="my value" />
这将绑定回模型属性:
public string FirstNameAttribute { get; set; }