H5W3
当前位置:H5W3 > 其他技术问题 > 正文

MVC4 mobile aspx 默认选项

诚心请教,visual basic MVC mobile (aspx 不是用C#编写)
Controllers 中建立了CarFleetController.vb
Views中建立了Create.aspx
Models文件中只建立了CarFleetDB.edm
里面有两个表:TT_CarFleet 和TM_CarFleet_Office

结合之前评论中的意见,改了几行代码,现在是最新进展:
views中的aspx代码如下

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of MvcApplication2.TT_CarFleet)" %>
<%--这里省略--%>
<%--下拉框显示Office信息的--%>
<div class="editor-label">
<%: Html.LabelFor(Function(model) model.StartLocation) %>
</div>
<div class="editor-field">
<select id="StartLocation" name="StartLocation" aria-valuemax="none">
<%--将人员默认的office信息显示出来--%>
<%--目前这样写的话下拉框中就只有一个默认数据,可是我想把所有的Office地点都显示出来--%>
<%For Each Item In ViewData("SelectedOffice")%>
<option value=" <%=Html.Encode(Item.SelectedOffice)%>" <%=Html.Encode(Item.SelectedOffice)%></option>
<% Next%>
</select>
</div>

controller中的代码如下:

'数据库连接部分省略
'从数据库中获得所有Office 名字,是一张表,有好几列,只会用到其中“OfficeName”这一列的数据
ViewData("Office") = db.TM_CarFleet_Office.SqlQuery(MySQL3)
‘这个表示的是:根据不同的用户,找到的他对应的Office信息,是一个List,里面只有一个数据,比如只有“上海”,根绝每个用户所属地不同有差异,这个部分无需做任何修改
ViewData("SelectedOffice")="这里省略"

现在需要解决的问题就是:就比如说A同学是南京的,然后Office下拉框中就自动默认选择南京,如果B同学是上海的,Office下拉选项框中就自动默认选择上海,但是所有的office信息都需要在下拉框中显示出来。

回答

给option标签加个selected属性就选中了,下面使用mvc示例:

实体类:

Public Class Office
    Public Property Id As Int32
    Public Property OfficeName As String
End Class


Public Class Teacher
    Public Property Id As Int32
    Public Property OfficeId As Int32
End Class

控制器方法:

Function Index() As ActionResult
        Dim offices As New List(Of Office)

        Dim office1 As New Office
        With office1
            .Id = 1
            .OfficeName = "a"
        End With

        Dim office2 As New Office
        With office2
            .Id = 2
            .OfficeName = "b"
        End With

        offices.Add(office1)
        offices.Add(office2)
        ViewData("Office") = offices

        Dim teacher As New Teacher
        With teacher
            teacher.Id = 1
            teacher.OfficeId = 2
        End With

        Return View(teacher)

    End Function

前台页面:

@ModelType Teacher

@Code
    ViewData("Title") = "Home Page"
End Code

<br />

Office:
<select id="StartLocation" name="StartLocation" aria-valuemax="none">
    @For Each Item In CType(ViewData("Office"), List(Of Office))
        @<option value="@Item.Id"  @IIf(Item.Id.Equals(Model.OfficeId), "selected", "")>@Item.OfficeName</option>
    Next
</select>

或者使用这个方法,SelectList的第4个参数就是默认选中的值

@Html.DropDownList("StartLocation", New SelectList(ViewData("Office"), "Id", "OfficeName", Model.OfficeId), "--请选择--")

未经允许不得转载:H5W3 » MVC4 mobile aspx 默认选项

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址