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);