[英]Passing dynamic javascript values using Url.action()
任何人都可以告诉我们如何使用Url.action()传递动态值。
就像是,
var firstname="abc";
var username = "abcd";
location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))';
firstname,用户名未在Url.action()方法中被引用。
如何使用Url.action()传递这些动态值?
@Url.Action()
方法是server-side
@Url.Action()
,因此您不能将client-side
值作为参数传递给此函数。 您可以使用此方法生成的server-side
URL连接client-side
变量,该方法是输出中的字符串。 尝试这样的事情:
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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.