javascript - 在 switch 语句中使用 ViewBag

标签 javascript asp.net-mvc switch-statement viewdata viewbag

这是我的 Controller 中的代码:

public ActionResult MyMethod(string widgetId)
    {
        ViewBag.Widget = widgetId;
        ViewData["widget"] = widgetId;
        return View();
    }

这是我在 switch 语句中尝试的内容:

var sort = <%=(string)ViewBag.Widget.ToString() %>;
    //switch (<%=(string)ViewData["widget"] %>) {   
    switch (sort) {            
        case 'a1':

            break;
        case 'a2':

            break;
        case 'a3':

    }

在我的例子中,widgetId 是“a3”

它会抛出 a3 未定义的错误。如何解决这个问题?我

最佳答案

我假设这是 JavaScript,服务器值被写入输出:

// you were missing quotes around the value of "sort"
// (single or double quotes are fine since this is JS)

var sort = "<%= ViewBag.Widget.ToString() %>"; 
alert(sort);

switch (sort) {            
    case 'a1':
        break;

    case 'a2':
        break;

    case 'a3':
        break;
}

关于javascript - 在 switch 语句中使用 ViewBag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15084889/

相关文章:

javascript - 将对象值解构为数组

asp.net - 获取用户及其角色的列表

java - 如何使我的交换机保护套在JFrame上起作用?

c - 如何将其写成 switch 语句?

java - 如何使用开关为 JComboBox 中的所选项目赋值

javascript - 使用 Object.assign() 删除对象属性

javascript - 局部变量和私有(private)变量的关系

c# - 如何在不使用密码的情况下发送邮件

c# - Routes.AppendTrailingSlash 排除部分路线

javascript - Angular 2,自定义组件的类属性