谁能告诉我如何使用 Url.action() 传递动态值。
就像是,
var firstname="abc";
var username = "abcd";
location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))';
名字、用户名在 Url.action() 方法中没有被引用。
如何使用 Url.action() 传递这些动态值?
谁能告诉我如何使用 Url.action() 传递动态值。
就像是,
var firstname="abc";
var username = "abcd";
location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))';
名字、用户名在 Url.action() 方法中没有被引用。
如何使用 Url.action() 传递这些动态值?
该@Url.Action()方法是在 上进行的server-side,因此您不能将client-side值作为参数传递给该函数。您可以client-side使用server-side此方法生成的url 连接变量,该url 是输出中的字符串。尝试这样的事情:
var firstname = "abc";
var username = "abcd";
location.href = '@Url.Action("Display", "Customer")?uname=' + firstname + '&name=' + username;
在@Url.Action("Display", "Customer")上处理 ,server-side字符串的其余部分在 上处理client-side,将server-side方法的结果与 连接起来client-side。
此答案可能与问题并非 100% 相关。但它确实解决了问题。我找到了实现这一要求的简单方法。代码如下:
<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>
在上面的例子中,{{cust.Id}}是一个 AngularJS 变量。但是,可以用 JavaScript 变量替换它。
我还没有尝试过使用这种方法传递多个变量,但我希望如果需要,它也可以附加到 Url。
在我的情况下,只需执行以下操作即可:
[HttpPost]
public ActionResult DoSomething(int custNum)
{
    // Some magic code here...
}
<form id="frmSomething" method="post">
    <div>
        <!-- Some magic html here... -->
    </div>
    <button id="btnSubmit" type="submit">Submit</button>
</form>
var frmSomething= $("#frmSomething");
var btnSubmit= $("#btnSubmit");
var custNum = 100;
btnSubmit.click(function()
    {
        frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum);
        btnSubmit.submit();
    });
希望这有助于vatos!
最简单的方法是:
  onClick= 'location.href="/controller/action/"+paramterValue'