방금 선택한 값의 쿼리 문자열을 전달하는 페이지로 리디렉션하기 위해 SelectedIndexChanged와 함께 작동하는 AJAX Toolkit에서 CascadingDropDown을 얻었습니다. 나는 잘 지냈다!ASP.Net CascadingDropDown 및 EnableEventValidation = "false"
그러나 SelectedIndexChanged 이벤트는 EnableEventValidation = "false"를 페이지에 추가하여 작동합니다. 문제는 제품 선택기로 CascadingDropDown이 내 웹 사이트의 MasterPage에 배치된다는 것입니다.
내 MasterPage에 EnableEventValidation = "false"를 추가하는 것이 중요하지 않습니다! MSDN에서 ClientScriptManager.RegisterForEventValidation 메서드를 살펴 봤는데 내 머리 위로 넘어갔습니다.
가장 좋은 방법은 무엇입니까? ClientScriptManager.RegisterForEventValidation을 사용하는 간단한 예제가 있습니까?
건배 ...
편집: 여기에 코드입니다 :
<asp:ScriptManager ID="asm" runat="server" />
<div>
Series: <asp:DropDownList ID="SeriesList" runat="server" /><br />
Printers: <asp:DropDownList ID="PrinterList" runat="server"
onselectedindexchanged="PrinterList_SelectedIndexChanged"
AutoPostBack="True" /><br />
</div>
<asp:CascadingDropDown ID="ccd1" runat="server"
ServicePath="CascadingDropdown1.cs.asmx" ServiceMethod="GetSeries"
TargetControlID="SeriesList" Category="Series"
PromptText="Select Series" />
<asp:CascadingDropDown ID="ccd2" runat="server"
ServicePath="CascadingDropdown1.cs.asmx" ServiceMethod="GetPrintersForSeries"
TargetControlID="PrinterList" ParentControlID="SeriesList" Category="Printer"
PromptText="Select Printer" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="PrinterList" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
가 그리고 여기에 이벤트의 :
protected void PrinterList_SelectedIndexChanged(object sender, EventArgs e)
{
int printerID = Convert.ToInt32(PrinterList.SelectedValue);
System.Web.HttpContext.Current.Response.Redirect("Default.aspx?PID="+printerID);
}
해당 드롭 다운에 어떤 종류의 텍스트가 있습니까? 몇 가지 예를 들어 보겠습니다. –
첫 번째 ddl에는 Epson 프린터의 시리즈 이름 인 Stylus, Stylus Color, Stylus Photo가 있습니다. 두 번째 ddl에는 해당 모델 번호가 있습니다. BX535WD, DX4000, DX7400 etx. 8 시리즈가 있고 총 229 프린터가 있습니다. '스타일러스 색'이 가장 길다. – ComfortablyNumb
EnableEventValidation = "true"인 경우 다음 JScript 런타임 오류가 발생합니다. Sys.WebForms.PageRequestManagerServerErrorException : 잘못된 포스트 백 또는 콜백 인수입니다. 이벤트 유효성 검사는 페이지의 <% @ Page EnableEventValidation = "true"%>에서 를 사용하여 활성화됩니다. 보안상의 이유로이 기능은 포스트 백 또는 콜백 이벤트에 대한 인수가 원래 렌더링 된 서버 컨트롤에서 비롯된 것인지 확인합니다. 데이터가 ... ㅋㅋㅋ! –
ComfortablyNumb