我正在做一个管理应用程序用户有一个部分我有一个<select></select>
的表单
这是从
@{ Html.RenderAction ("ListaTipoDeUsuarios", new {selected = 0}); }
这(Index.cshtml):
...
<div class="lg-xs-12">
<label>Tipo Usuario</label>
<select name="tipoUsuario" class="form-control" >
@{Html.RenderAction("ListaTipoDeUsuarios", new { selected = 0 });}
</select>
</div>
....
我在控制器中有我的功能,它执行查询以带来用户类型列表(HomeController.cs)
[ChildActionOnly]
public PartialViewResult ListaTipoDeUsuarios()
{
string dtTipoUser = client.GetTiposUsuario("{}");
DataTable dt = (DataTable)JsonConvert.DeserializeObject(dtTipoUser, typeof(DataTable));
List<TipoUsuarioBO> listaTiposUsuarios = new List<TipoUsuarioBO>();
foreach (DataRow row in dt.Rows)
{
TipoUsuarioBO tipoUsuario = new TipoUsuarioBO();
tipoUsuario = TiposUsuarioBR.MapeoTipoUsuario(row, tipoUsuario);
listaTiposUsuarios.Add(tipoUsuario);
}
return PartialView(listaTiposUsuarios);
}
我的列表视图(ListaTipoDeUsuarios.cshtml)
@foreach (var item in Model)
{
<option value="@item.Id">@item.Id - @item.Descripcion</option>
}
我的问题是,如何在加载列表时生成一个所选项目。目前,在为视图收费时默认选择列表中的第一项。
注意:尝试更改“new selected = {0}”的“0”但不执行任何操作。
答案 0 :(得分:0)
您需要更改呈现选项的PartialView的模型。你有2个选择。
OR
使用以下声明创建新模型。
public class OptionsModel <-- Rename to naming conventions
{
public List<TipoUsuarioBO> TipoUsuarioBO { get; set; }
public int SelectedID {get; set; }
}
并且,在渲染选项元素时,请使用以下
@foreach (var item in Model.TipoUsuarioBO)
{
<option value="@item.Id" @Html.Raw(@item.Id == Model.SelectedID ? "selected" : "") >@item.Id - @item.Descripcion</option>
}
答案 1 :(得分:0)
为什么您不尝试使用.state('list', {
url: '/list?country&state&city',
templateUrl: "list.html",
controller : 'myController',
resolve: {
currentUrlTypeParam : ['$stateParams', function($stateParams){
var urlTypeParameter = {} // define an object that we'll return as the value for $scope.loadMethodParameters
if($stateParams.country && typeof $stateParams.country !== undefined){
urlTypeParameter.type = 'country';
urlTypeParameter.parameter = $stateParams.country;
} else if($stateParams.state && typeof $stateParams.state !== undefined){
urlTypeParameter.type = 'state';
urlTypeParameter.parameter = $stateParams.state;
} else if($stateParams.city && typeof $stateParams.city !== undefined){
urlTypeParameter.type = 'city';
urlTypeParameter.parameter = $stateParams.city;
} else {
urlTypeParameter.type = 'default';
}
return urlTypeParameter;
}]
}
})
作为ListaTipoDeUsuarios.cshtml视图的模型。
List<SelectListItem>
和您的观点
[ChildActionOnly]
public PartialViewResult ListaTipoDeUsuarios()
{
string dtTipoUser = client.GetTiposUsuario("{}");
DataTable dt = (DataTable)JsonConvert.DeserializeObject(dtTipoUser, typeof(DataTable));
List<SelectListItem> listaTiposUsuarios = new List<SelectListItem>();
foreach (DataRow row in dt.Rows)
{
TipoUsuarioBO tipoUsuario = new TipoUsuarioBO();
tipoUsuario = TiposUsuarioBR.MapeoTipoUsuario(row, tipoUsuario);
listaTiposUsuarios.Add(new SelectListItem()
{
Text = tipoUsuario.Id+"-"+tipoUsuario.Descripcion,
Value = tipoUsuario.Id.ToString(),
Selected = true //if you want this item selected otherwise false
});
}
return PartialView(listaTiposUsuarios);
}