我想知道如何从MultiSelect框中将我的表单值绑定到我的强类型视图.
显然,当表单提交多选框时,会提交一个已选中的值的delittemered字符串...将这个值字符串转换回附加到我的模型要更新的对象列表的最佳方法是什么?
public class MyViewModel {
public List<Genre> GenreList {get; set;}
public List<string> Genres { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在控制器内更新我的模型时,我正在使用UpdateModel,如下所示:
Account accountToUpdate = userSession.GetCurrentUser();
UpdateModel(accountToUpdate);
Run Code Online (Sandbox Code Playgroud)
但是我需要以某种方式将字符串中的值返回到对象中.
我相信它可能与模型粘合剂有关,但我找不到任何明确的如何做到这一点的例子.
谢谢!!保罗
在这个小而完整的例子中,我试图重新创建一个双列表框UI组件.我只希望能够将物品从一个盒子移动到另一个盒子.(如果我可以添加排序会很好,但我认为这是一个障碍!)
我在IE7中遇到此代码的问题(FF,Chrome,Opera似乎都工作正常).每当我将项目从一个列表移动到另一个列表时,选择框会调整(缩小)每次迭代.我不确定我在哪里出错了,有人可以提供一些见解吗?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dual List Testing</title>
<link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function(){
//hover states on the static widgets
$('.dual-box > .button-panel > .button').hover(
function() { $(this).addClass('ui-state-hover'); },
function() { $(this).removeClass('ui-state-hover'); }
);
});
// Hack the buttons of the dual-list to the centre (couldn't figure out a css solution)
$(function(){
$('#dualBox1 .button-panel').css("padding-top",($('.button-panel').height()-(34*4))/2); // v-centre
$('#dualBox1 .button').css("margin-left", ($('.button-panel').width()-34)/2); // h-centre
});
$(function(){
$('#dualBox1 .add').click(function () …Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET MVC应用程序,有很多下拉列表和多选列表.基本上,很多选项列表.
我的问题是; 将这些列表作为模型的一部分或ViewData传递给视图会更好吗?
我目前正在将它们作为ViewData传递,因为我在模型上并不真正需要它们,并且它们似乎可能在模型上传递时很笨重(我得到所选项目或项目,这实际上是我所需要的).在缺点方面,ViewData需要在View上进行转换,这不如强类型模型好.
这里有最好的做法吗?即使是对这些方面的利弊建议也会受到赞赏.
基本上我想要这样的东西.我有哪些现成的选择?这种小部件有没有合适的短名称?

我有标准的OpenFileDialog
var openFileDialog = new OpenFileDialog
{
DefaultExt = "mpo",
Filter = "Image file |*.mpo",
Multiselect = true,
RestoreDirectory = true,
};
Run Code Online (Sandbox Code Playgroud)
当我尝试使用它在" fujifilm finepix real 3d w1 "照片相机上打开几张照片时,它会触发消息框" 无法从此位置打开多个项目.请尝试选择单个项目. "只打开1个文件即可.
当我尝试从硬盘驱动器或其他可移动设备中选择照片时,一切正常.
有人得到同样的问题吗?
我可以使用jquery填充dropdownlist,如下所示:
下拉列表 :
<select id="province"></select>
Run Code Online (Sandbox Code Playgroud)
脚本代码:
$(document).ready(function(){
$.ajax({
type: "POST",
url: "function.aspx/provincelist",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function OnPopulateControl(response) {
list = response.d;
if (list.length > 0) {
$("province").removeAttr("disabled");
$("province").empty().append('<option value="0">Please select</option>');
$.each(list, function () {
$("province").append($("<option></option>").val(this['Value']).html(this['Text']));
});
$("province").val(valueselected);
}
else {
$("province").empty().append('<option selected="selected" value="0">Not available<option>');
}
},
error: function () {
alert("Error");
}
});
});
Run Code Online (Sandbox Code Playgroud)
带有省列表功能的文件function.aspx:
[System.Web.Services.WebMethod]
public static ArrayList provincelist()
{
ArrayList List = new ArrayList();
SqlConnection con = DBclass.moketnoi();
SqlCommand cmd = new SqlCommand("SELECT …Run Code Online (Sandbox Code Playgroud) 我正在使用jquery multiselect小部件.我想取消选中所有这些都是手动检查的.我在JSFiddle - > Code中有一个示例代码
这不起作用.当手动选择选择选项时,在选择它时检查未选中的选项是否为第一次给我1(在最后一个选项中单击).所以我检查了是否$this.children("option").not('[selected]').length 是1并且 ui.checked 调用了uncheckAll
但之后它正确地表现了代码,如果$this.children("option").not('[selected]').length 在选择最后一个时给我0.
我想知道发生了什么.
更新:
缩短问题:
如何使用Razor将SelectList绑定到Kendo UI MultiSelect小部件?
原始问题:
在ASP.NET MVC 4应用程序中,我试图让Kendo Multiselect工作.我将Multiselect小部件绑定到我的模型/ viewmodel但是没有使用init值.选择等完美无缺.
模型:
public class Data
{
public IEnumerable<int> SelectedStudents{ get; set; }
}
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
List<Student> students = new List<Student>();
students.Add(new Baumaterial { Id = 1, Name = "Francis" });
students.Add(new Baumaterial { Id = 2, Name = "Jorge" });
students.Add(new Baumaterial { Id = 3, Name = "Drew" });
students.Add(new Baumaterial …Run Code Online (Sandbox Code Playgroud) 我想从angularJS中的选定复选框项中获取逗号分隔的字符串.同时,当从数据库中恢复逗号分隔的字符串时,我希望相应地检查复选框.
<div class="col-md-5">
<input type="checkbox" ng-model="Drawings.CarMDrawings" ng-change="Update(Drawings)"> Car
<br />
<input type="checkbox" ng-model="Drawings.SignalMDrawings" ng-change="Update(Drawings)"> Signal
<br />
<input type="checkbox" ng-model="Drawings.DoorMDawings" ng-change="Update(Drawings)"> Door
<br />
</div>
Run Code Online (Sandbox Code Playgroud)
我以非常简单的方式解决了问题是Plunker http://plnkr.co/edit/YYd5bN5Chmyjt6gSH1Bw?p=preview
$scope.Update = function(Drawings) {
var str = "";
if (Drawings.CarMDrawings) {
str = "Car";
}
if (Drawings.SignalMDrawings) {
str = str + ",Signal";
}
if (Drawings.DoorMDawings) {
str = str + ",Door";
}
if (str.charAt(0) === ',') {
str = str.substr(1);
}
$scope.data = str;
}
$scope.revUpdate = function(data) {
var str = …Run Code Online (Sandbox Code Playgroud) 我在rails应用程序中使用simple_form.我想在下拉列表中禁用特定值.
这是代码的一部分
= simple_form_for(@organization,url: admin_organization_path) do |f|
= f.input :hospital_name, input_html: { class: "form-control"}
= f.input :parent, collection: @organizations, input_html: { class: "form-control", id: "chosen-select-speciality"}
Run Code Online (Sandbox Code Playgroud)
我试过用:disabled => @organizations.first但是我失败了.有没有其他方法可以使用.请帮助我.谢谢.
ruby-on-rails multi-select simple-form jquery-chosen slim-lang
multi-select ×10
jquery ×4
asp.net-mvc ×2
javascript ×2
.net ×1
angularjs ×1
asp.net ×1
c# ×1
jquery-ui ×1
kendo-ui ×1
model ×1
modelbinders ×1
populate ×1
selectlist ×1
simple-form ×1
slim-lang ×1
updatemodel ×1
viewdata ×1
viewmodel ×1