4
我正在開發ASP.NET MVC中的應用程序。我正在使用一些用戶輸入值的頁面上工作,然後使用存儲過程從它們獲取數據集。我的首選是數據輸入到顯示的同一頁面上,所以我使用AJAX和部分視圖來完成此操作。我的代碼與一組簡單的數據(簡單的字符串)完美配合,但現在我使用了更高級的數據集(Ienumerable),它不再顯示局部視圖。部分視圖忽略數據集並不顯示
這是我的視圖(在其中輸入數據被隱藏的長度目的文本框)的一部分:
<!--SEARCH RESULTS PARTIAL FILLED BELOW-->
<div id="search-results">
</div>
<!---->
<script>
function getSearchResults() {
var SqlViewModel = {
//assign textboxes to values to pass to controller (hidden)
}
$.ajax({
type: "POST",
data: JSON.stringify(SqlViewModel),
dataType: "json",
contentType: "application/json",
url: "/Sql/Search/",
success: function(result) {
$('#search-results').html(result);
}
}); }
</script>
我抓住從文本框的數據,然後將值傳遞到我的「搜索」控制器方法使用我的ajax。 (值全部通過正確使用SqlVieWModel)
控制器方法:
[HttpPost]
public ActionResult Search(SqlViewModel sT)
{
//code for stored procedure
var sql = //get stored procedure and parameters
SqlPartialViewModel obj = new SqlPartialViewModel();
obj.SqlData = sql; //obj.SqlData is of type IEnumerable<Get_Result>
return PartialView("_SearchResultsPartial", obj);
SqlPartialViewModel定義:
public class SqlPartialViewModel
{
public IEnumerable<Get_Result> SqlData { get; set; }
}
最後,我試圖簡單地得到這些數據在我的局部視圖,以顯示(_SearchResultssPartial .cshtml):
@model SqlPartialViewModel
<table>
<tr>
<th>//Display stuff</th>
</tr>
@foreach(var result in Model.SqlData)
{
<tr>
<td>//Display stuff</td>
</tr>
}
沒有顯示,我也沒有收到任何錯誤。
太棒了!它更改爲「html」後工作。 –