我开始玩mvc。
我需要以下内容:一个组合框,当用户选择其中一个项目时,会弹出一个messageBox并显示“ Please work this time !!!”。
这是我的代码:
Index.html:
@Html.DropDownListFor(x => x.SelectedFileName, Model.Files, new { Name = "map", @class = "form-control" })
HomeVM:
public class HomeVM
{
public List<SelectListItem> Files { get; set; }
public string SelectedFileName { get; internal set; }
public List<string> DynamicAlgorithems { get; set; }
}
HomeController:
[HttpPost]
public ActionResult ShowAllMobileDetails(HomeVM MV)
{
string SelectedValue = MV.Files.Count.ToString();
MessageBox.Show("Please work this time!!!");
return View(MV);
}
问题是:我可以在组合框中看到所有项目,但是当用户选择其中一个时,MessageBox不会弹出。
您知道我所缺少的吗?
答案 0 :(得分:1)
在asp.net MVC中,您无法MessageBox.Show
用于winform
。
设置id='SelectedFileName'
OnChange
事件。并使用js alert
函数
您可以使用js来实现。
这是一个jQuery示例。
$('#SelectedFileName').change(function(){
alert('Please work this time!!!');
});
$('#SelectedFileName').change(function(){
alert('Please work this time!!!');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<select id="SelectedFileName">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
或者在您的问题中,可以直接在dropdownList中绑定onchange
事件。
@Html.DropDownListFor(x => x.SelectedFileName, Model.Files, new { Name = "map", @class = "form-control" , onchange = @"alert('Please work this time!!!')"})
编辑
这是一个带有asp.net小样本的ajax。
在Razor
页(html页)中包含jQuerylib
<script
src="https://code.jquery.com/jquery-2.2.4.js"
integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI="
crossorigin="anonymous"></script>
在Onchange
下拉列表中绑定id='SelectedFileName'
事件。
使用post方法进行ajax调用,并使用第三个参数回调函数获得MVC
的结果。
看起来像这样,您可以在ShowAllMobileDetails
动作中做一些逻辑。
$('#SelectedFileName').change(function(){
//get id="SelectedFileName"
$.post('Home/ShowAllMobileDetails', $("form").serialize(),function(data){
alert(data);
});
});
[HttpPost]
public ActionResult ShowAllMobileDetails(HomeVM MV)
{
string SelectedValue = MV.Files.Count.ToString();
// your logic
string result = "Please work this time!!!";
return View(result);
}