即时尝试渲染点击事件的部分视图...请求已成功发布到控制器但未在视图中接收...我从控制器返回部分视图...下面是我的视图和控制器...
<script type="text/javascript">
function postForm() {
if ($('#searchresultsweather').is(':parent')) {
alert("parent");
var child = $('#searchresultsweather').children().attr("id");
alert(child);
$('#' + child).remove();
}
alert("about to post form");
var searchText = $('#weathersearch').val();
alert(searchText);
$.get('<%=Url.Action("SearchWeatherLocation?searchText='+searchText+'","Weather")%>', null,
function(data) {
alert("call back");
$("div#searchresultsweather").append(data);
});
}
</script>
<form id="feedForm">
<fieldset>
<p>
<input type="text" value="" maxlength="60" id="weathersearch" name="search" class="text"/>
<input type="submit" value="Search" class="submitbut" id="submitbutton_search" onclick="postForm();"/></p>
<div class="clear"></div>
</fieldset>
<div id="searchresultsweather"></div>
</form>
这是我的控制器方
ViewData["weather"] = weather;
ViewData["searchText"] = searchText;
return PartialView("PartialWeather");
答案 0 :(得分:1)
我认为您必须在$ .get jquery调用中添加“script”参数。
所以你必须把它改成
$.get('<%=Url.Action("SearchWeatherLocation?searchText='+searchText+'","Weather")%>', null,
function(data) {
alert("call back");
$("div#searchresultsweather").append(data);
}, "script");
答案 1 :(得分:0)
如果您的操作返回部分视图,则可以执行以下操作...
标记/脚本
<script type="text/javascript">
function getpartial() {
var url = "<%: Url.Action("MyAction") %>";
$.ajax({
url: url,
success: function (data) {
$('#result').html(data);
}
});
return false; // stops the form submitting (if in a form)
}
</script>
<input type="button" onclick="getpartial();" title="Get partial" />
<div id="result"></div>
控制器操作
public ActionResult MyAction()
{
// todo: get data
ViewData["searchText"] = searchText;
return PartialView("PartialWeather", weather);
}
希望这有帮助。
答案 2 :(得分:0)
<input type="submit"/>
按钮类型导致页面回发
将其更改为<input type="button"
并且工作正常