使用@ Html.ActionLink生成动态的传统URL(即不是动作/控制器路由)

时间:2014-02-06 18:16:59

标签: asp.net-mvc

我需要使用包含JSON值的网址创建动态标记,该网址将发布到外部支付网关。最终我想要这样的事情:

支付此金额

所以我想我会这样做:

@ Html.ActionLink(“支付此金额”,“https://xyz.com/PayNow?paymentData= {'StoreID':'1964','人':{'FirstName':'Joe','MiddleInitial':'A', '名字': '史密斯'}, '项目':{ '1':{ '价格': '250', '编码': '学费'}}}“)

但是结果标记以Action / Controller格式生成URL:

MyWebSite / myController的/ https://xyz.com/PayNow?paymentData= { 'STOREID': '1964', '人':{ '姓': '乔', 'MiddleInitial': 'A', '名字': '史密斯'} '项':{ '1':{ '价格': '250', '编码': '学费'}}}

......当然,它失败了。

我只想要一个传统的URL而不是路由。我没有看到简单URL的重载。或者是否有另一个帮助我可以用来创建非MVC URL?

我该怎么做?谢谢!

感谢。

1 个答案:

答案 0 :(得分:2)

@ Html.ActionLink用于为站点中的控制器/操作创建标记。如果您只想创建指向其他网站的链接,请使用普通的HTML:

<a href="https://xyz.com">Pay Now</a>

如果您需要使用模型中的属性,可以在代码中构建URL,然后在标记中引用它:

@{
    string url = "https://xyz.com?id=" + Model.Id;
}

<a href="@url">Pay Now</a>

<a href="https://xyz.com?id=@Model.Id">Pay Now</a>