2011-05-08 76 views
2

我的代碼完全在VS2010 C#,但一旦發佈到IIS7的PartialView(記錄列表)沒有得到呈現在查看...它推出一個新的除了從SQL服務器檢索到的正確記錄數外,沒有數據的頁面。 SQL服務器位於單獨的框中。ASP.NET MVC 2查看與PartialView - PartialView打開新頁面

我已經搜索了幾個小時在這個網站有沒有運氣找到一個解決方案。

查看與所述的RenderPartial:

<table style="width:100%"> 
<tr> 
<td> 
<h3>Outage Tracking List (Open or Active)</h3> 
</td> 
<td style="text-align:right"> 
<h1><%: ViewData["ApplicationName"]%></h1> 
</td> 
</tr> 
</table>  

<% Html.RenderPartial("OutageSearch",this.ViewData.Model); %> 

PartialView:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl&ltOutageTrackingWebSite.Models.OutageViewModel" %> 
<div> 

<script language="javascript" type="text/javascript"> 

    function OutageSearch() { 

     $("#OutageSearchForm #CurrentPageNumber").val("1");  
     PostSearchForm(); 

    } 

各種功能則partialview其餘

<% using (Ajax.BeginForm("OutageSearch", null, 
     new AjaxOptions { UpdateTargetId = "DivOutageSearchResults", OnComplete="OutageSearchComplete" }, 
      new { id = "OutageSearchForm" })) { %> 

<table style="background-color: #ebeff2; width: 100%; border:solid 1px #9fb8e9" cellspacing="2" cellpadding="2"> 
    <tr> 
     <td style="width: 60%; text-align: left"> 
      <input id="btnSearch" onclick="OutageSearch();" type="submit" value="List Open/Active" /> 
     </td> 
    </tr> 
</table> 

<div id="DivOutageSearchResults">  
<% Html.RenderPartial("OutageSearchResults", this.ViewData.Model); %> 
</div> 

<% } %> 

附加PartialView

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<%OutageTrackingWebSite.Models.OutageViewModel" > 

<input name="CurrentPageNumber" type="hidden" id="CurrentPageNumber" value="<%=Model.CurrentPageNumber%>" /> 
<input name="TotalPages" type="hidden" id="TotalPages" value="<%=Model.TotalPages%>" />  
<input name="SortBy" type="hidden" id="SortBy" value="<%=Model.SortBy%>" />  
<input name="SortAscendingDescending" type="hidden" id="SortAscendingDescending" value="<%=Model.SortAscendingDescending%>" />  

<input name="PageSize" type="hidden" id="PageSize" value="9" /> 

<script language="javascript" type="text/javascript"> 
function GetOutageDetails(OutageID) { 

      if (formIsDisabled == false) { 

       DisableForm(); 

       formData = "OutageID=" + OutageID; 

       setTimeout(PostOutageIDToServer, 1000); 

      } 

     } 

     function PostOutageIDToServer() { 

      $.post("/Outage/GetOutageInformation", formData, function (data, textStatus) { 
       OutageUpdateComplete(data); 
      }, "json"); 

     } 
    

控制器


     public ActionResult DisplayOutageList() 
     { 


      Models.OutageViewModel outageViewModel = new Models.OutageViewModel(); 

      outageViewModel.TotalPages = 0; 
      outageViewModel.TotalRows = 0; 
      outageViewModel.CurrentPageNumber = 0; 

      ViewData.Model = outageViewModel; 

      string applicationName = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["ApplicationName"]); 

      ViewData["ApplicationName"] = applicationName; 

      return View("OutageMaintenance"); 
     } 

     /// 
     /// Outage Search 
     /// 
     /// 
     public PartialViewResult OutageSearch() 
     { 
      long totalRows; 
      long totalPages; 
      bool returnStatus; 
      string returnErrorMessage; 

      OutageBLL OutageBLL = new OutageBLL(); 

      Models.OutageViewModel outageViewModel = new Models.OutageViewModel(); 

      this.UpdateModel(outageViewModel); 

      List Outages = OutageBLL.OutageSearch(
       outageViewModel, 
       outageViewModel.CurrentPageNumber, 
       outageViewModel.PageSize, 
       outageViewModel.SortBy, 
       outageViewModel.SortAscendingDescending, 
       out totalRows, 
       out totalPages, 
       out returnStatus, 
       out returnErrorMessage); 

      ViewData["Outages"] = Outages; 

      outageViewModel.TotalPages = totalPages; 
      outageViewModel.TotalRows = totalRows; 

      ViewData.Model = outageViewModel; 

      return PartialView("OutageSearchResults"); 

     } 


     /// 
     /// Get Outage Information 
     /// 
     /// 
     public JsonResult GetOutageInformation() 
     { 

      bool returnStatus; 
      string returnErrorMessage; 
      List returnMessage; 

      OutageBLL outageBLL = new OutageBLL(); 

      Models.OutageViewModel outageViewModel = new Models.OutageViewModel(); 

      this.TryUpdateModel(outageViewModel); 

      Outage outage = outageBLL.GetOutageInformation(
       outageViewModel.OutageID, 
       out returnStatus, 
       out returnErrorMessage, 
       out returnMessage); 

      outageViewModel.UpdateViewModel(outage, typeof(Outage).GetProperties()); 

      outageViewModel.ReturnMessage = returnMessage; 
      outageViewModel.ReturnStatus = returnStatus; 
      outageViewModel.OutageScheduledDate = UtilitiesBLL.FormatDate(outageViewModel.ScheduledDate); 
      outageViewModel.OutagePlannedDuration = UtilitiesBLL.FormatDuration(outageViewModel.PlannedDuration); 

      return Json(outageViewModel); 

     } 
+0

你能發佈一些代碼? – 2011-05-08 17:41:34

+0

當然...我沒有在我原來的問題中發佈代碼,因爲我不確定問題出在哪裏。什麼是最有用的...查看,部分視圖或控制器? – treeSeeker 2011-05-08 19:29:32

+0

也許代表呈現PartialView和Controller動作的代碼 – 2011-05-08 19:39:13

回答

0

檢查部署版本包含的JavaScript文件。如果你缺少一些文件(MicrosoftMvcAjax.js,jQuery.js),頁面可能只是發佈而不是使用Ajax文章。

+0

:(所有腳本都在那裏... – treeSeeker 2011-05-10 20:32:56