url.action参数问题

本文介绍了三种不同的URL编码方式:escape(), encodeURI(), 和 encodeURIComponent()。详细解释了每种方法不进行编码的字符集,并通过示例代码展示了如何使用这些方法来处理URL中的参数。

var keyword = encodeURIComponent($("#search").val());

 

var url = "@Url.Action("SearchResult")" + "?name=" + keyword;

window.location = url;

 

You have three options:

escape() will not encode: @*/+

encodeURI() will not encode: ~!@#$&*()=:/,;?+'

encodeURIComponent() will not encode: ~!*()'

 

 

 

@Url.Action 是一个 ASP.NET MVC 中的辅助方法,用于生成 URL。它可以生成一个 URL,该 URL 可以指向指定的控制器和操作方法,并可以传递参数。 @Url.Action 方法可以接受多个参数,其中最常用的是控制器名称和操作方法名称。例如: ```html <a href="@Url.Action("Index", "Home")">Home</a> ``` 这个示例中,@Url.Action 方法指定了控制器名称为 "Home",操作方法名称为 "Index"。生成的 URL 可以被用作超链接的 href 属性。 如果需要传递参数,可以在 @Url.Action 方法中添加一个匿名对象,该对象的属性名将被用作 URL 中的查询字符串参数名,属性值将被用作查询字符串参数值。例如: ```html <a href="@Url.Action("Details", "Product", new { id = 123 })">Product Details</a> ``` 这个示例中,@Url.Action 方法指定了控制器名称为 "Product",操作方法名称为 "Details",并传递了一个 id 参数,其值为 123。生成的 URL 将包含一个名为 "id" 的查询字符串参数,其值为 123。 需要注意的是,@Url.Action 方法生成的 URL 默认是相对路径。如果需要生成绝对路径,可以在第三个参数中指定协议和主机名。例如: ```html <a href="@Url.Action("Index", "Home", null, Request.Url.Scheme)">Home</a> ``` 这个示例中,@Url.Action 方法的第三个参数设置为 null,表示不传递任何参数。第四个参数使用 Request.Url.Scheme 获取当前请求的协议名,并将其用作生成的 URL 的协议名。这样就可以生成绝对路径的 URL
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值