在MVC应用程序中,我从UI文本框中传递string taskName = "a#&+"
。
在控制器中,参数taskName
更改为taskName = "a"
。
在调试视图时,将按预期显示taskName
的值。
但在从视图传递到控制器时,它意外地发生了变化。
Post方法然后将相同不正确的字符串回发到UI。如何在控制器GET方法中获得taskName = "a#&+"
?
我是MVC的新手。如果我能提供更多的相关信息,请告诉我。
发布于 2015-09-24 13:18:29
我不太清楚您是如何将数据从页面上的文本框传递到控制器参数的,但是根据您的描述,您必须使用javascript来获取文本框的值,然后将其附加到url。在这种情况下,您需要使用javascript encodeURIComponent
函数在使用文本框之前对其值进行编码。
关于一个例子,请参阅这个jsfiddle:http://jsfiddle.net/a7ek6whn/
发布于 2015-09-24 13:11:15
字符#和&是查询字符串中的保留字符,这就是截断值的原因。在执行Get请求之前,您需要UrlEncode
您的值,以便在get中获得正确的字符串。
https://stackoverflow.com/questions/32761829
复制相似问题