使用Url.action()传递动态javascript值

使用Url.action()传递动态javascript值,javascript,c#,asp.net,asp.net-mvc,asp.net-core,Javascript,C#,Asp.net,Asp.net Mvc,Asp.net Core,请告诉我如何使用Url.action()传递动态值 大概 var firstname="abc"; var username = "abcd"; location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))'; firstname、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}))';
firstname、username在Url.action()方法中未被引用

如何使用Url.action()传递这些动态值?

服务器端的
@Url.action()
方法是过程,因此不能将
客户端的
值作为参数传递给此函数。您可以使用此方法生成的
server-side
url来连接
客户端
变量,该url是输出上的字符串。试着这样做:

var firstname = "abc";
var username = "abcd";
location.href = '@Url.Action("Display", "Customer")?uname=' + firstname + '&name=' + username;

@Url.Action(“Display”、“Customer”)
服务器端处理,字符串的其余部分在
客户端处理,将
服务器端
方法的结果与
客户端
连接在一起。在我的例子中,只需执行以下操作,效果就非常好:

控制员: 创建无操作的表单:
希望这对瓦托斯有帮助

这个答案可能与这个问题没有100%的相关性。但它确实解决了这个问题。 我找到了实现这一要求的简单方法。代码如下:

<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>

在上面的示例中,{{cust.Id}}是一个AngularJS变量。但是,可以用JavaScript变量替换它

我没有尝试使用此方法传递多个变量,但我希望如果需要,也可以将其附加到Url。

最简单的方法是:

  onClick= 'location.href="/controller/action/"+paramterValue'

最后,我向元素添加了一个onclick事件,该元素附加到使用Url.Action设置的href属性中,但是如果没有该参数,路径会有所不同呢?如果您可以将字符串
/Home/DoSomething
替换为
@Url.Action(“DoSomething”,“the controller”)
,那么它可能会更适合未来。这样,如果重命名控制器和/或操作,相关url仍将保持有效。是否确实需要onclick事件?你能对表单的
操作
属性做同样的事情吗。。。
var frmSomething= $("#frmSomething");
var btnSubmit= $("#btnSubmit");
var custNum = 100;

btnSubmit.click(function()
    {
        frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum);

        btnSubmit.submit();
    });
<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>
  onClick= 'location.href="/controller/action/"+paramterValue'