0

我正在将几个工作的 asp.net mvc 4 (razor) 网页转换为 jquery mobile,我看到了一些我不明白的东西。

@Html.DropDownListFor 并不总是填充......我已经使用 firebug 检查了 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 转换为数据角色....奇怪的事情有时是在我转换为数据角色之后情况有所改善,而其他时候它会使问题变得更糟....

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

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

有什么我错过的想法吗?

4

2 回答 2

0

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

问题出在 dropDownListFor 中 Style 的规范上……通过消除 Style 行,一切正常……

 @Html.DropDownListFor(p => p.SelectedWorkOrderCode,   
                         new SelectList (Model.WorkOrders, "WorkCenterID", "WorkOrderCodeDesc"),   
                                                        "Select a Work Order",     
                                            new { id       = "WorkCenterID",
                                                Class    = "dropdownstyle" })
于 2013-03-28T16:29:18.630 回答
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
于 2013-03-28T16:10:49.817 回答