페이지에 2 개의 DropDownLists + Textbox + 제출 버튼이 있습니다.요청시 뷰 내에서 PartialView 렌더링
제출시 첫 번째 DropDownList에서 선택된 값에 따라 부분 뷰를 선택하여 채우도록되어 있습니다. 나는 그것을 약간 일하게했다. 그러나 메인 뷰의 div에서 렌더링하는 대신 항상 새 창에서 pv를 반환합니다.
MVC 3 + Telerik을 사용하고 있습니다.
코드의 가장 중요한 부분 :
VIEW - 업데이트
<script type="text/javascript">
function onMainDDL1Change(e) {
var combo = $("#SubDDL1").data("tComboBox");
combo.value("");
combo.reload();
}
function onSubDDL1DataBinding(e) {
var combo = $("#MainDDL1").data("tComboBox");
e.data = $.extend({}, e.data, { mainDDL1ID: combo.value() });
}
</script>
@using (Ajax.BeginForm("PartialGrid", "DataSearch", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "result", InsertionMode = System.Web.Mvc.Ajax.InsertionMode.Replace }))
{
<table>
<tr>
<td>
@(Html.Telerik().ComboBox()
.Name("MainDDL1")
.AutoFill(true)
.DataBinding(binding => binding.Ajax().Select("LoadMainDDL", "DataSearch"))
.HighlightFirstMatch(true)
.ClientEvents(events => events.OnChange("onMainDDL1Change"))
)
</td>
</tr>
<tr>
<td>
@(Html.Telerik().ComboBox()
.Name("SubDDL1")
.DataBinding(binding => binding.Ajax().Select("LoadSubDDL1", "DataSearch"))
.HighlightFirstMatch(true)
.ClientEvents(events => events.OnDataBinding("onSubDDL1DataBinding"))
)
</td>
<tr>
<td>
@Html.TextBoxFor(o => o.sSearch1)
</td>
</tr>
<tr align="center">
<td colspan="4">
<input type="submit" class="t-button" value="Search" name="submit" />
</td>
</tr>
</table>
}
<div id="result">
</div>
컨트롤러-
[HttpPost]
//PartialView
public PartialViewResult PartialGrid(DataSearchModel voModel)
{
voModel.dtResultSet1 = DLA.DataSearchContext.getResultSet1(voModel.MainDDL1, voModel.SubDDL1, voModel.sSearch1);
return PartialView("_TPRCL", voModel);
}
//Initial View
public ViewResult DataSearch(string text)
{
DataSearchModel oModel = new DataSearchModel();
oModel.alMainDDL = DLA.DataSearchContext.getMainDDL();
return View(oModel);
}
PartialView 업데이트
@model ISC.Utilities.GISTransactionTools.Models.DataSearchModel @(Html.Telerik().Grid(Model.dtResultSet1) .Name("Grid") .Footer(false) .Columns(columns => { columns.Bound(o => o.Row[0]).Title("T_PRCL"); }))
PartialView Grid는 실제로 더 많은 열을 가지고 있습니다. 나는 다음과 같은 코드가 초기보기에서
: : 여기 Telerik를 사용하지만, 아니에요
않습니다 Telerik 컨트롤러없이 접근 사용할 수 있습니까? –
예, 제가 실제로 telerik에서 사용하는 것은 현재 Grid와 DropDownLists입니다. 그러므로 그것을 너무 많이해서는 안됩니다. – seN