使用Url.action()传递dynamicjavascript值
任何人都可以请告诉如何使用Url.action()传递dynamic值。
就像是,
var firstname="abc"; var username = "abcd"; location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))';
名字,用户名没有获得在Url.action()方法内部的缓冲。
如何使用Url.action()传递这些dynamic值?
@Url.Action()
方法是在server-side
,所以你不能把一个client-side
值作为parameter passing给这个函数。 您可以将client-side
variables与由此方法生成的server-side
url(输出中的string)连接起来。 尝试这样的事情:
var firstname = "abc"; var username = "abcd"; location.href = '@Url.Action("Display", "Customer")?uname=' + firstname + '&name=' + username;
在server-side
处理@Url.Action("Display", "Customer")
,并在client-side
处理string的其余部分,将server-side
方法的结果与client-side
。
在我的情况下,它只是通过做以下工作很好:
控制器:
[HttpPost] public ActionResult DoSomething(int custNum) { // Some magic code here... }
创build没有任何操作的表单:
<form id="frmSomething" method="post"> <div> <!-- Some magic html here... --> </div> <button id="btnSubmit" type="submit">Submit</button> </form>
设置button点击事件触发提交后添加到表单的行动:
var frmSomething= $("#frmSomething"); var btnSubmit= $("#btnSubmit"); var custNum = 100; btnSubmit.click(function() { frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum); btnSubmit.submit(); });
希望这有助于vatos!
这个答案可能不是100%相关的问题。 但它确实解决了这个问题。 我发现这个简单的方法来达到这个要求。 代码如下:
<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>
在上面的例子中, {{cust.Id}}是一个AngularJSvariables。 但是可以用JavaScriptvariablesreplace它。
我还没有尝试使用此方法传递多个variables,但我希望,如果需要也可以附加到Url。
- 新的ASP.NET MVC 5应用程序如何知道如何创build数据库以及Account Controller如何访问数据库?
- 全球ASAX – 获取服务器名称
- 请求redirect到/ Account / Login?ReturnUrl =%2f,因为MVC 3安装在服务器上
- 无法启动进程dotnet.exe
- 无法让sql server compact 3.5 / 4与ASP .NET MVC 2一起工作
- Request.IsAuthenticated如何工作?
- 最好的ASP.NET报告引擎与自定义报告创build能力
- 我们如何在ASP.NET MVC中设置整个区域的授权?
- X-Frame-Options允许来自多个域