AJAX ToolkitからSelectedIndexChangedを操作して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があります。また、2番目のddlには対応するモデル番号があります:BX535WD、DX4000、DX7400 etx。 8シリーズがあり、合計229台のプリンタがあります。 「スタイラスカラー」は最長です。 – ComfortablyNumb
EnableEventValidation = "true"次のJScriptランタイムエラーが発生します。Sys.WebForms.PageRequestManagerServerErrorException:ポストバックまたはコールバックの引数が無効です。イベントの検証は、ページまたは<%@ Page EnableEventValidation = "true"%>の を使用して有効にします。セキュリティ上の理由から、この機能はポストバックまたはコールバックイベントの引数が元々レンダリングされたサーバーコントロールから発生することを確認します。データが...あれば、ああ、まあまあ! –
ComfortablyNumb