【发布时间】:2017-04-21 03:01:37
【问题描述】:
我是 asp.net mvc 的新手,想读取 html 文本框值并将其发送到控制器操作方法参数,为此在视图页面中编写以下代码:
<a href="@Url.Action("Item", "Store", new {parentPartId = @item.Id,UserID=12})">@item.BookName</a>
在url action 在此段中:
UserID=html 文本框值
读取值并将其发送到控制器中的此操作:
public ActionResult Item(int parentPartId,int UserID)
{
}
在视图页面中,我的文本框是这样的:
<input type="text" id="USERID"/>
我该如何解决这个问题?谢谢。
【问题讨论】:
-
选项1:将文本框放入表单,并让用户提交表单(可能通过按钮),其“动作”将指向您提到的动作方法。这将导致文本框中的值作为参数传递给控制器。您必须确保文本框名称与参数名称匹配。选项 2:当用户点击链接时,使用一些 javascript 来收集文本框的值。在允许链接触发之前,使用它将值放入 URL。
-
@ADyson 如何使用选项 2?
-
不要直接在链接上设置href。处理其点击事件。使用 preventDefault 来停止正常的重定向行为。创建一个包含 Url.Action 帮助程序值的变量,但将
@item.Id更改为占位符字符串,例如“PARENT_ID”。获取生成的 URL 并使用字符串替换功能将 PARENT_ID 与文本框中的值进行切换。然后将用户重定向到这个新生成的 URL。 -
@ADyson 你能给我写代码吗?
-
这些都是javascript中的标准基本任务,但是好的,我会给你一个例子。
标签: asp.net-mvc