我将一些模型信息传递给ActionLink,但我也想提供页面上某些输入的值的操作。例如,如果我有这样的事情:

<input Name="MyInput" />

<%: Html.ActionLink("MyAction", "MyController", Model.Value);

我希望动作意识到这两个模型。值(通过参数传递)和myintup的值。通常,我会使用formcollection,但是在这种情况下我不能使用提交,所以我不能使用。

那么,如何将My Intupt的价值传递给MyAction呢?我是否必须将名为My Intput的属性添加到我的模型中?假设有效,是否有一种更简单的方法,或者至少一种不涉及修改模型的方法?

有帮助吗?

解决方案

HTML无法做到这一点,因此在ASP.NET MVC中没有办法做到这一点。

您可以选择两种可能的解决方案:

  1. 使用JavaScript使用户编辑文本框时,您会动态更改锚标签的值以包括它们输入的内容。您不能使用ASP.NET路由为此,因为该路由在服务器上运行并且需要客户端代码。

  2. 进行表格提交而不是链接。这是HTML中推荐的方法。当用户提交数据时,应采用表格。将所有内容包裹在表单标签中,然后将文本框和一个按钮放在其中。将表格的操作设置为您要发布的URL。

这与我所说的相同的回应 这个问题, ,尽管另一个问题的要求可能有一个略有不同的想法。

其他提示

我确定我可能可以通过JavaScript读取文本框的值(我可能会使用jQuery),并将其作为参数作为匿名类型的一部分(而不是仅使用model.value)。但是,我决定从使用操作链接切换到仅执行表单提交和使用FormCollection。我正在构建的页面更有意义。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top