mvc 사용자 정의 컨트롤에서 form.ascx 전화, 나는 "세부 정보"라는 div에 포함 된 Telerik 그리드 있습니다. 페이지라는 edit.aspx에서jquery UI 대화와 함께 telerik 그리드 사용!
나는 다음 썼다 :
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div id="details">
<%Html.RenderPartial("form", Model != null ? Model.CurrentEntity : null); %>
</div>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#details').dialog(
{ modal: true,
title: "add",
width: 815,
buttons: {
'save': function() { $("form:first").trigger("submit"); },
'close': function() { $(this).dialog('close'); }
}
});
});
</script>
</asp:Content>
문제가 표시되지 않습니다 대화입니다! 그리고 대화 상자를 사용하지 않는 것처럼 사용자 정의 컨트롤이 마스터 페이지 내에 표시됩니다.
"양식"사용자 정의 컨트롤 내에서 격자를 사용하지 않으면 모든 것이 잘 작동하고 대화 상자가 올바르게 표시됩니다. 문제를 파악하기 위해 방화 광을 사용했을 때 다음 오류가 표시되었습니다.
$는 정의되지 않았습니다 ????
어떤 몸이라도 아이디어가 있습니까 ?? 여기
는 마스터 페이지입니다 :<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<%@ Import Namespace="Telerik.Web.Mvc.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link type="text/css" href="../../Content/Site.css" rel="stylesheet" />
<link type="text/css" href="../../content/css/start/jquery-ui-1.8.2.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="/Scripts/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.2.custom.js"></script>
<%--<script type="text/javascript" src="../../Scripts/Jquery.Validate.js"></script>--%>
<%--<script type="text/javascript" src="../../Scripts/MicrosoftMvcJQueryValidation.js"></script>--%>
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
</title>
</head>
<body>
<%= Html.Telerik().StyleSheetRegistrar()
.DefaultGroup(group => group.Add("telerik.common.css")
.Add("telerik.outlook.css"))
<!----- some html content only ----->
<div id="maincontent" class="fixed">
<asp:ContentPlaceHolder ID="MainContent" runat="server">
</asp:ContentPlaceHolder>
</div>
<asp:ContentPlaceHolder runat="server" ID="Footer" />
<% Html.Telerik().ScriptRegistrar().DefaultGroup(group => { group.Add("telerik.examples.js").Compress(true); }).
OnDocumentReady(() =>
{ %>prettyPrint();<% }).Render(); %>
</body>
</html>
여기 부분보기 form.acsx입니다 :
난 다음 스크립트 파일을 사용할 : 내가 문제를 파악
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Bereau.Core.IncommingCorrespondence>" %>
<%@ Import Namespace="System.Web.Mvc.Html" %>
<%@ Import Namespace="BureauModule.Utility" %>
<%@ Import Namespace="Telerik.Web.Mvc.UI" %>
<%--<%= Html.ValidationSummaryJQuery("Error must be fixed.", new Dictionary<string, object> { { "id", "valSumId" } })%>--%>
<%--<% Html.EnableClientValidation(); %>--%>
<% using (Html.BeginForm())
{ %>
<%=Html.DisplayFor (c=>c.Photocopy) %>
<%--<% ViewContext.FormContext.ValidationSummaryId = "valSumId"; %>--%>
<form action="" method="post" id="customer_form" dir="rtl">
<div class="editor-label">
<%:Html.LabelFor(c => c.Overstatment)%>
<%=Html.TextBoxFor(c => c.Overstatment,new { @class ="text ui-widget-content ui-corner-all"})%>
<%--<%= Html.ValidationMessageFor(model => model.Overstatment,"*") %>--%>
</div>
<div>
<label for="CorrespondenceNumber">CorrespondenceNumber:</label>
<%=Html.TextBoxFor(c => c.CorrespondenceNumber, new { @class = "text ui-widget-content ui-corner-all" })%>
<span>
<%--<%= Html.ValidationMessageFor(model => model.CorrespondenceNumber, "*")%>--%></span>
</div>
<div>
<label for="Nature">Nature:</label>
<%=Html.DropDownList("Nature")%>
<%--<%= Html.ValidationMessageFor(model => model.Nature, "*")%>--%>
</div>
<div>
<label for="Sender">Sender:</label>
<%=Html.DropDownList("Sender")%>
<%--<%= Html.ValidationMessageFor(model => model.Sender, "*")%>--%>
</div>
<div class="correspondenceReceiver">
<% Html.Telerik().Grid<Bereau.Core.CorrespondenceDetail>(Model != null ? Model.Details : null)
.Name("Grid")
.DataKeys(keys => keys.Add(c => c.CorrespondenceDetailID))
.HtmlAttributes(new { @class = "t-grid-rtl" })
.Columns(columns =>
{
columns.Bound(c => c.CorrespondenceDetailID).Visible(false);
columns.Bound(c => c.Sender).Title("Sender");
columns.Bound(c => c.Count).Title("Count");
columns.Bound(c => c.Date).Title("Date").Format("{0:yyyy/MM/dd}");
columns.Bound(c => c.Notes).Title("Notes");
columns.Command(c => c.Edit());
})
.ToolBar(t => t.Insert())
.DataBinding
(c => c.Ajax()
.Select("Select", "IncommingCorespondence")
.Insert("InsertDetail", "IncommingCorespondence")
.Update("UpdateDetail", "IncommingCorespondence")
)
.Scrollable()
.Sortable()
.Pageable()
.Render();
%>
<% Html.Telerik().ScriptRegistrar().OnDocumentReady(() =>
{
%>
$('.insert-button').click(function(e) { e.preventDefault(); $('#Grid').data('tGrid').createRow();
});
<% }); %>
</div>
<input type="submit" runat="server" />
<% } %>
</form>
정보를 더 게시 할 수 있습니까? 마스터 페이지와 부분보기가 도움이 될 것입니다. –
안녕하세요 korchev, 답장을 보내 주셔서 감사합니다. 질문을 수정하고 더 많은 정보를 추가했습니다. –