簡體   English   中英

在無效的QueryStringParameter上重定向到LinqDataSource

[英]Redirect on invalid QueryStringParameter to LinqDataSource

我有以下LinqDataSource:

<asp:LinqDataSource ID = "agreementDs"
                    ContextTypeName = "AdministrationDataContext"
                    TableName = "Agreements"
                    runat = "server"
                    EnableUpdate = "true"                        
                    Where = "AgreementId=@AgreementId">

    <WhereParameters>
        <asp:QueryStringParameter QueryStringField = "AgreementId" 
                                  Name = "AgreementId"
                                  Type = "Int32"
                                  DefaultValue = "-1" />
    </WhereParameters>                        
</asp:LinqDataSource>    

應該從協議數據庫表中獲取一行。 如何檢測參數AgreementId是否為-1,並且是否為404頁面提供服務或將用戶重定向到我網站的首頁? 我無法弄清楚將這個邏輯插入后面的代碼中的正確位置是什么。

更新:不僅應在AgreementId參數為-1時重定向用戶。 當數據源不包含任何行時,它應該總是發生。

在您的LINQ數據源中添加一個“ OnSelecting”方法名稱,然后從該方法中檢查所需的內容:

<asp:LinqDataSource runat="server" OnSelecting="ldsSelecting" .... />

protected void ldsSelecting(object o, LinqDataSourceSelectEventArgs e)
{
     // check for query string or other stuff here, redirect if needed
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM