MVC在后ActionResult中获取表单控件数据属性值

jak*_*son 5 c# asp.net-mvc-4

我正在尝试使用mvc中的html数据属性重新创建我在winforms时代所做的事情.

您可以使用以下方法在表单控件上设置属性:

txtTest.Attributes.Add("data-myattribute", "my value");
Run Code Online (Sandbox Code Playgroud)

然后在使用以下方式发布表单后再读回:

txtTest.Attributes["data-myattribute"]
Run Code Online (Sandbox Code Playgroud)

在mvc中添加属性是一件轻而易举的事:

@Html.TextBoxFor(m => m.FirstName, new { data_myattribute = "my value" })
Run Code Online (Sandbox Code Playgroud)

一旦表格被张贴,就无法弄清楚如何在动作结果中阅读它们?!

一直在搜索,虽然我可以找到关于如何设置数据属性值并在javascript中读取的loada帖子,我找不到任何能告诉我如何让他们回到代码中的东西......

那里的任何人都知道这个神奇的答案?!

Ant*_*t P 3

数据属性不包含在随表单发布的数据中,因此无法在控制器操作中读取它们。尝试使用隐藏字段:

<input type="hidden" name="FirstNameAttribute" value="my value" />
Run Code Online (Sandbox Code Playgroud)

这将绑定回模型属性:

public string FirstNameAttribute { get; set; }
Run Code Online (Sandbox Code Playgroud)