我的查看页面中有以下表格
@using (Html.BeginForm())
{
@Html.EditorFor(model => model.Product_ID)
<input id="idd" type="file" class="file">
// form sumbit button
<input type = "submit" value="Create" />
}
我想在单击此表单的提交按钮之前将上面插入的 Product_ID 作为 ajax 对象路由值发送。为此,我像这样创建它 product_ID = Model.Product_ID但是这个 product_ID 变空了。
$('#idd').click(function () {
$.ajax({
url: '@Url.Action("CreateDirectory", "Home",new { product_ID = Model.Product_ID })',
type: "POST",
Controller
[HttpPost]
public JsonResult CreateDirectory(string product_ID)
{
...........
}
编辑
在上面的脚本中使用警报我尝试显示 Product_ID
alert('@Model.Product_ID');
相同的结果没有显示值(value)
请您参考如下方法:
@Url.Action() 是 Razor 代码,它在发送到 View 之前在服务器上进行评估,因此如果 Model.Product_ID 的初始值为 null 那么您的代码将只呈现 url: '/Home/CreateDirectory'。生成文本框后更改值不会更新 url 的值。
改为使用 ajax data 选项来传递文本框的值
$('#idd').click(function () {
$.ajax({
url: '@Url.Action("CreateDirectory", "Home")', // modify
data: { product_ID: $('#Product_ID').val() }, // add this
type: "POST",
