Javascript 名称<;js_变量>;在当前上下文中不存在
我设置了以下模型,其中有一个Javascript 名称<;js_变量>;在当前上下文中不存在,javascript,asp.net,razor,Javascript,Asp.net,Razor,我设置了以下模型,其中有一个列表,我正试图为其添加值: public class NewShipmentModel { ... public List<string> units_selected { get; set; } public NewShipmentModel() { units_selected = new List<string>(); } } 如何正确访问变量?这可能吗 编辑:请注意,数据当前
列表
,我正试图为其添加值:
public class NewShipmentModel
{
...
public List<string> units_selected { get; set; }
public NewShipmentModel()
{
units_selected = new List<string>();
}
}
如何正确访问变量?这可能吗
编辑:请注意,数据当前通过
submit
按钮和HTTP POST传回控制器。我不确定如何填充此列表和/或在表单的其余部分中使用数据注入它。这说明您混淆了服务器和客户端代码。Razor部分始终在服务器上执行。Javascript-在客户端上。所以你不能就这么做
//note that unit_serial doesn't exist when you're calling Add method because it
//executes during razor view generation on server.
//all javascript code executes after the client receive generated view.
@Model.units_selected.Add(unit_serial);
在javascript代码的中间,因为它没有意义。当更改事件处理程序在复选框上激发时:您将把它发送到服务器进行更新
为使其工作,考虑创建一个更多的MVC动作,并使用Ajax将数据传递给服务器。
The name unit_serial does not exist in the current context
//note that unit_serial doesn't exist when you're calling Add method because it
//executes during razor view generation on server.
//all javascript code executes after the client receive generated view.
@Model.units_selected.Add(unit_serial);