问题是这样的,从一个页面跳转到另一个页面的时候,需要传一个参数到另一个页面,为了方便描述,该参数名叫userName,userName可能是昵称,当昵称没填的时候就拿email地址([email protected],[email protected]等等),所以userName中会出现一些特殊字符。用了Urlencode处理特殊字符(例如@),但还不行,发现"."这个点号字符导致页面出错。该如何处理。尝试过传参之前加密,接收后解密。但这样用户体验感觉不太好。有没有其他什么办法呢?ASP.NETmvc4传参问题

解决方案 »

  1.   

    使用TempData传值,或者POST过去,而不要通过URL。
      

  2.   

    建议使用POST方式提交,设置获取userName的控件的name="userName",然后在接受的页面的controller中的方法加个带userName的引用类型参数就行了
      

  3.   

    忘记说明一点了。是个<a></a>标签该如何处理
      

  4.   

    <a onclick="postData('userName')" href="javascript:void(0)"></a>
    <script>
         function postData(data){
              if(data != ""){
                   data = "userName=" + encodeURIComponent(data) + "&参数2=" + 参数2的值;
                   构建ajax对象xmlHttp
                   xmlHttp.open(url, true);               
                   xmlHttp.send(data);
              }
         }
    </script>
      

  5.   

    controller里面的,方法头上加个特性【validateInput=false】,好像是这么写的,
      

  6.   

    a标签也可以post传参数啊,直接href里写js