Этот вопрос может повторяться, но у меня есть проблема. У меня есть раскрывающийся список и кнопка поиска на моей странице. где я связываю представление с моделью в выпадающем списке события изменения. И при нажатии на значение кнопки «Поиск», выбранное в выпадающем списке, относящемся к списку записей, отображается на частичном изображении. Это все сделано правильно, как ниже:Загрузить частичный вид при нажатии кнопки
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<ApricaCRMEvent.Models.CRM.DatabaseEntities.CRM_Doctor_Request>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
MDLNoDDLIndex
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script src="../../Scripts/jquery.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-migrate-1.0.0.js" type="text/javascript"></script>
<script type="text/javascript">
//script for binding drop down list value from view to model
$("#viewlist").hide();
function TestFun()
{
var mdlno = $("#ddlMDLNo").val();
var txtmdlno = document.getElementById("Request_For_Id");
txtmdlno.value = mdlno;
//alert(txtmdlno.value);
$("#viewlist").hide();
}
var mdlno = $("#ddlMDLNo").val();
function Datalist(mdlno) {
$("#viewlist").show();
$.ajax({
url: "/Search/MDLNoDataList", //url or controller with action
type: "POST",
data: mdlno,
dataType: "html",
success: function (data) {
$("#viewlist").html(data); //target div id
},
error: function() {
alert("No Projects Found");
$("#viewlist").html('there is error while submit');
}
});
}
//$(function() { $("#btnclick").click(function() { $("#viewlist").load('/Search/MDLNoDataList') }); });
//script for loading partial view into div tag "viewlist"
</script>
<div>
<h2>Search by MDLNo</h2>
<% using (Html.BeginForm())
{ %>
<%: Html.ValidationSummary(true, "Profile Updation was unsuccessful. Please correct the errors and try again.") %>
Select MDLno
<%= Html.DropDownList("ddlMDLNo", ViewData["MDLno"] as SelectList, "--Select One--", new { onchange = "TestFun()" })%>
<%: Html.HiddenFor(model => model.Request_For_Id) %>
<input type="submit" value="search" name="SearchMDLNo" id="btnclick" onclick ="Datalist(a)"/>
<div id="viewlist"><%Html.RenderAction("MDLNoDataList"); %> </div> <%--partial view should be loaded here.--%>
<% } %>
</div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
Все работает правильно, но .. частичный вид сНу тега показывает, прежде чем нажать на кнопку Поиск. Я хочу, чтобы .. Частичный вид нагрузки, когда я нажимаю на кнопку
для этого я попробовал этот код:
$("#btnclick").click(function() { $("#viewlist").load('/Search/MDLNoDataList.ascx') });
И я также попробовал .show() и .hide(), но проблема с то есть .. Всякий раз, когда я нажимаю кнопку, вся страница обновляется, поэтому загрузка частичного представления выполняется неправильно.
контроллер:
public ActionResult MDLNoDDLIndex()
{
ViewData["MDLno"] = new SelectList(CRMSearchReportDL.getAllMDLno(), "Request_For_Id", "Request_For_Id");
return View();
}
[HttpPost]
public ActionResult MDLNoDDLIndex(CRM_Doctor_Request model)
{
ViewData["MDLno"] = new SelectList(CRMSearchReportDL.getAllMDLno(), "Request_For_Id", "Request_For_Id");
//mdlnoObj = SearchMDLNoDL.getMDLData(model.Request_For_Id);
return View();
}
public ActionResult MDLNoDataList()
{
List<CRM_Doctor_Request> drlist = new List<CRM_Doctor_Request>();
return PartialView(drlist);
}
[HttpPost]
public ActionResult MDLNoDataList(CRM_Doctor_Request model)
{
return PartialView(CRMSearchReportDL.getMDLNoWiseDetails(model.Request_For_Id));
}
Я попытался в обоих направлениях .. Согласно вашему предложению. Но всякий раз, когда я нажимаю кнопку поиска, в теге div ничего не отображается. –
Не могли бы вы добавить коды методов контроллера. –
Я уверен, см. Я добавил код контроллера. –