转换为jquery mobile后,mvc4 razor网页偶尔填充下拉列表

时间:2013-03-28 12:15:03

标签: jquery-mobile asp.net-mvc-4

我正在将几个正在运行的asp.net mvc 4(razor)网页转换为jquery mobile,我看到一些我不理解的东西。

@ Html.DropDownListFor并不总是填充.....我已经使用firebug和SOMETIMES检查了html,当网页出现时它的下拉列表没有值...但它是零星的......我讨厌零星的问题....它让我爬上了墙......

这是控制器......我已经检查了问题发生的时间......它总是生成数据并发送它....

public ActionResult SelectWorkCenter()
{
    SelectWorkCenterInputModel model = new SelectWorkCenterInputModel();
    model.WorkCenterList = wcService.GetWorkCenters().OrderBy(p=>p.WorkCenterName).ToList();
    return View(model);
}

以下是具有零星工作的下拉列表的网页:

@using TBS.Etracs.Web.Main.Areas.WorkCenter.Models
@model SelectWorkCenterInputModel

@{
    ViewBag.Title = "Select Work Center";
}

@using (Html.BeginForm("SelectWorkOrder", "Mobile", new {Model.SelectedWorkCenterID }))
{          
    <div class="divTable">
        <div class="divTableRow">
            <div class="divTableCell"></div>
            <div class="divTableCell">[WorkCenterName (#Vehicles)]</div>
        </div>
        <div class="divTableRow">
            <div class="divTableCell"><label><strong> WorkCenter</strong></label></div>
            <div class="divTableCell">   
                @Html.DropDownListFor(p => p.SelectedWorkCenterID,
                                     new SelectList(Model.WorkCenterList, "WorkCenterID", "WorkCenterName"),
                                     "Select a Work Center",
                                     new { Class    = "dropdownstyle",
                                           onchange = "this.form.submit();",
                                           style    = "width:220px; height: 40px;font-size: 1.2em;font-weight:bold"
                                         })   
                </div> 
        </div>
    </div>    
     <input type="submit" value="Back" onclick="history.back(); return false;" style="margin-right: 20px" />
}

我正在将divTable转换为data-role ....而且在我转换为数据角色之后,有些事情会改善,而有时候它会使问题变得更糟......

我不明白为什么转换到jquery mobile会对此产生任何影响......

我遇到的另一个问题是我的按钮并不总是将事件发送回我的控制器,因为我已经转换为jquery mobile ....我不知道这是否是一个相关的问题。 ..

我错过了哪些想法?

2 个答案:

答案 0 :(得分:0)

更多细节.....现在我知道发生了什么事情我看到之前已经问过这个问题......我仍然没有解决问题,但它似乎不是我在其他帖子中看到的最喜欢的问题....这是我的模型....这应该是正确的(因为它工作)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using TBS.Etracs.Web.Main.Models;

namespace TBS.Etracs.Web.Main.Areas.WorkCenter.Models
{
    public class SelectWorkCenterInputModel
    {
        public int SelectedWorkCenterID { get; set; }
        public List<AssignedWorkCenter> WorkCenterList { get; set; }
    }
}

AssignedWorkCenter is an EF generated type with values of
     System.Int32 WorkCenterID
     System.String WorkCenterName

答案 1 :(得分:0)

好的......我不明白,但这是解决方案......

问题在于DropDownListFor中的Style的具体情况....通过消除Style行,一切正常......

 @Html.DropDownListFor(p => p.SelectedWorkOrderCode,   
                         new SelectList (Model.WorkOrders, "WorkCenterID", "WorkOrderCodeDesc"),   
                                                        "Select a Work Order",     
                                            new { id       = "WorkCenterID",
                                                Class    = "dropdownstyle" })