我正在使用ASP.NET MVC。我点击了一个按钮,通过AJAX调用控制器。返回数据并使用jquery更新页面:
查看
<select class="form-control" id="select-templates-eb" style="width: 85%; display: inline;">
<option disabled selected>--Select Template --</option>
@foreach (Template t in Model.EmailBodyTemplates.Templates)
{
<option value="@t.TemplateId">@t.Name</option>
}
</select>
<button onclick="template_onClick('EB')" style="margin-bottom: 3pt;" >Load Template</button>
的Javascript
if(selectedType == 'EB')
{
var templateId = $('#select-templates-eb').val();
jQuery.ajax({
contentType: 'application/json; charset=utf-8',
type: "POST",
url: GetTemplateURL,
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
id: templateId
}),
success: function (data) {
debugger
var editor = $("#editor-eb").data("kendoEditor");
editor.body.innerHTML = data.Text;
},
failure: function (errMsg) {
bootbox.alert(errMsg);
}
})
控制器
[HttpPost]
public ActionResult GetTemplate(int id)
{
Template template = new Template();
template = _templateLogic.GetTemplateByTemplateId(id);
return Json(template, JsonRequestBehavior.AllowGet);
}
如果我将“onclick”事件放在<SELECT>
标记上,则该页面不会重定向并正确更新。但是,如果我在<button>
上放置“onclick”事件,则页面会通过更新查询字符串进行重定向。为什么是这样? onclick在select标签和按钮上的表现是否不同?我怎么能阻止这个?