2010-03-31 2 views
3

Я разработал очень простое приложение MVC для тестирования jqGrid trirand для MVC.jqGrid - Проблемы с открытием на вкладках jquery (в Firefox и Google Chrome)

Приложение открывает jqgrid в группе вкладок jquery, и все в порядке с IE. Однако, когда я использую Firefox, jqgrid открывается только на первой вкладке (но не под любой другой вкладкой), а в Chrome мои jqgrids не открываются под любой вкладкой группы.

Я немного новичок MVC (и тестировал только jqgrid на несколько дней), но я знаю, что мои пользователи захотят использовать разные браузеры. Триранд не вернулся с каким-либо ответом, поэтому задавался вопросом, имел ли кто-либо другой подобный вопрос.

Я действительно только что реализовал jqgrid в соответствии с контроллерами и моделью в образце приложения на сайте Trirand, а затем объединил его с простой группой вкладок jquery.

Информация о моей MVC следующая:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<PRAMSAPP.Models.Family>" %> 
<%@ Import Namespace="Trirand.Web.Mvc" %> 
<%@ Import Namespace="PRAMSAPP.Controllers" %> 
<%@ Import Namespace="PRAMSAPP.Models" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
Details 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<link rel="stylesheet" type="text/css" href="/scripts/jquery-ui-1.7.2.custom.css" /> 
<script type="text/javascript" src="/scripts/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="/scripts/jquery-ui-1.7.2.custom.min.js"></script> 

    <fieldset> 
     <legend>Family</legend> 

     <div class="display-field"><%= Html.Encode(Model.FamilyID) %></div> 
     <div class="display-field"><%= Html.Encode(Model.FamilySurname) %></div> 

    </fieldset> 


    <div id="tabs"> 


    <ul> 
    <li> 
     <%= Html.ActionLink("GridChildren", "GridDemo", new { controller = "Grid", id = Model.FamilyID })%> 
    </li> 


    <li> 
    <%= Html.ActionLink("Children", "ShowFamiliesChildren", new { famid = Model.FamilyID, page = Page})%> 
    </li> 

    </ul> 


    </div> 

    <p> 

     <%= Html.ActionLink("Edit", "Edit", new { id=Model.FamilyID }) %> | 
     <%= Html.ActionLink("Back to List", "Index") %> 
    </p> 
<script type="text/javascript"> 
    $(function() { $('#tabs').tabs(); }); 
     </script> 
</asp:Content> 

And My Controller page is as follows; 

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<PRAMSAPP.Models.FamiliesChildrenJqGridModel>" %> 
<%@ Import Namespace="Trirand.Web.Mvc" %> 
<%@ Import Namespace="PRAMSAPP.Controllers" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

    <!-- The jQuery UI theme that will be used by the grid -->  
     <link rel="stylesheet" type="text/css" media="screen" href="/Content/themes/redmond/jquery-ui-1.7.1.custom.css" />  
    <!-- The Css UI theme extension of jqGrid --> 
    <link rel="stylesheet" type="text/css" media="screen" href="/Content/themes/ui.jqgrid.css" />  
    <!-- jQuery library is a prerequisite for jqGrid --> 
    <script type="text/javascript" src="/Scripts/jquery-1.3.2.min.js"></script>  
    <!-- language pack - MUST be included before the jqGrid javascript --> 
    <script type="text/javascript" src="/Scripts/grid.locale-en.js"></script> 


<script type="text/javascript" src="/Scripts/jqgrid/jquery.jqGrid.min.js"></script> 



</head> 
<body> 
    <div>   
     <%= Html.Trirand().JQGrid(Model.FamiliesChildrenGrid, "JQGrid1") %> 
    </div> 
</body> 
+0

Существует 3 разных версии jqGrid - ASP.NET MVC, PHP и чистый JavaScript. Похоже, вы используете ASP.NET MVC один - не могли бы вы прояснить? Кроме того, может помочь некоторый код. –

+1

Извинения ...... Trirand not Telerind (Его длинный день) –

+0

Моя группа вкладок вызывается через стандартный сценарий jquery; В котором я использую;

  • <% = Html.ActionLink ("GridChildren", "GridDemo", новый контроллер {= "Сетка", ID = Model.FamilyID})%>
  • Для того, чтобы использовать контроллер сетки. Контроллер Grid содержит;
    <%= Html.Trirand().JQGrid(Model.FamiliesChildrenGrid, "JQGrid1") %>

    ответ

    0

    Это немного удара в темноте, так как я не использовал jqGrid-ASP.NET, но вы можете попробовать инициализировать вашу сетку, когда вкладка готова, от show события вкладки:

    $('#tabs').tabs({ 
        show: function(event, ui) { 
         // Initialize your jqGrid in here 
        } 
    }); 
    
    +0

    Спасибо, Джастин, просто попробуй это сейчас. –

    Смежные вопросы