在Razor中为ViewData赋值

时间:2013-03-20 00:28:44

标签: javascript asp.net-mvc-3 razor viewdata

我想将一些用户输入存储在客户端的cookie中。使用MVC3 / Razor。数据输入到几个DropDownLists中。下面的一个人:

<div style="float: left;">
  @Html.Telerik().DropDownList()
     .Name("name").BindTo((SelectList)@ViewBag.Filter1SelectList)
     .Placeholder("All")
     .ClientEvents(events => events
     .OnChange("onChangeFilter1"))
</div>

我创建了以下JavaScript,试图在下拉值更改时存储值。

 function onChangeFilter1(e) {
    var filter1 = document.getElementById('name').value;        
    '<%= ViewData["Filter1Value"]%>' = filter1.toString();        
}

我们的想法是从多个下拉列表中收集多个过滤器。数据在提交按钮上过滤。这甚至可能吗?我只看了一个示例并仔细复制了上述错误:Microsoft JScript运行时错误:无法分配给'[string]'。

1 个答案:

答案 0 :(得分:1)

尝试在ViewData之前放置@符号,它允许您将过滤器值分配给ViewData

@ViewData["Filter1Value"] = filter1.toString();