在表单提交上获取文本框的数据ID值

时间:2016-10-19 11:08:22

标签: c# asp.net asp.net-mvc

我有一个文本框设置,如下所示:

        @Html.TextBoxFor(m => m.NewVehCode, new {data_id = "" })

当用户选择车辆时,车辆的描述变为文本框的值,车辆代码(我想发送给DB的那个)变成data-id(不是完整代码,但是我设置了值像这样):

        $("#NewVehCode").val(vehDescription);
        $("#NewVehCode").attr("data-id", vehCode);

这一切都运行正常,除了我提交时,MVC抓取文本框的值。

我是否可以提交,获取该文本框的数据ID而不是值?

请注意,我没有使用.js来收集数据。 Form调用控制器操作,将模型直接发送到控制器。

4 个答案:

答案 0 :(得分:0)

无法提交"数据"的值属性。我不确定你为什么要使用数据属性(这是一个要求与否,不确定)。但是您可以在表单中拥有隐藏属性,因此,当用户选择车辆时,以及文本框的数据属性,更新此隐藏值。这个隐藏的值将被提交回表单。

答案 1 :(得分:0)

Stephen Muecke的评论帮助我触发了这个解决方案:

我添加了一个用于车辆代码的隐藏文本框,并使显示描述的文本框成为没有数据绑定的标准文本框。

get_obj(classA)

这样我可以毫无问题地使用该值:

        <input id="newVehInput" readonly="readonly" class="longInput" type="text">
        @Html.TextBoxFor(m => m.NewVehCode, new { style = "display: none"})

(将在2天内标记为答案)

答案 2 :(得分:0)

将隐藏的文本框添加到您在提交

上发回的html中

在你的模特中:

public string Id {get;set;}

使用隐藏类

在视图中渲染它

用js。

$("#vehicleList").on("change",function(){
$("#Id").val($vehCode)
})

提交时,应在模型中设置id的值

答案 3 :(得分:0)

您可以hidden field按住更新的值。

<强> HTML:

<input type="hidden" id="HiddenVehCode" name="HiddenVehCode" Value="0"/>

<强> JS

$("#HiddenVehCode").val(vehDescription);

注意:您应该设置模型,以便HiddenVehCode将到达Form Submit.Something Like上的actionMethod,

public int HiddenVehCode {get;set;}