2017-02-28 45 views
0

如何将数据发送到操作并返回具有viewmodel对象的不同视图。如何传递json字符串的锚点标记mvc 5

我想从index.cshtml页面发送json字符串到动作,并且想要重定向或返回到具有viewmodel对象的Tax.cshtml页面。 剃刀:

<li class="mt5"><a id="noOfCart" href="@Url.Action("ReviewOrder", "Tax",new {storedTaxyear=localStorage.getItem("taxyear")})"><i class="fa fa-shopping-cart fa-lg hover1 textwhite"></i><span class="shoppingbadge"></span></a></li> 

控制器

public ActionResult ReviewOrder(string storedTaxyear) 
{ 
     ViewBag.FormName = 1; 
     ServicesCategoryList objviewmodel = new ServicesCategoryList(); 

     return View("Tax", objviewmodel);  
} 

是表示不存在的localStorage

+1

您无法将JavaScript变量传递给Razor变量。尝试将localStorage.getItem(“taxyear”)放在隐藏字段中,然后将其值传递给 – Kostis

回答

0

剃刀代码在服务器端执行,而JavaScript的执行在客户端,你需要做的是在客户端点击事件的锚定标记,如:

<li class="mt5"> 
    <a id="noOfCart" href="@Url.Action("ReviewOrder", "Tax")"> 
    <i class="fa fa-shopping-cart fa-lg hover1 textwhite"></i> 
     <span class="shoppingbadge"></span> 
    </a> 
</li> 

,然后在jquery中添加如下查询字符串值:

​​
+0

工作标记,但是一个很大的JSON字符串在url中可见 – user1681166

+0

是啊任何在localstorage中的键都会在查询中传递字符串 –

+0

我将如何隐藏大网址 – user1681166