在 Razor 中为 ViewData 赋值

问题描述 投票:0回答:1

我想将一些用户输入存储到客户端的 cookie 中。使用 MVC3/Razor。数据输入到多个 DropDownList 中。以下示例:

<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 Runtime Error: Cannot allocate to '[string]'.

javascript asp.net-mvc-3 razor viewdata
1个回答
0
投票

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

@ViewData["Filter1Value"] = filter1.toString(); 
© www.soinside.com 2019 - 2024. All rights reserved.