2014-09-26 32 views
0

我希望能夠將會話值傳入我的參數集合中。如何將會話值傳遞給參數集合?

<asp:ObjectDataSource ID="dataApplications" runat="server" 
    OldValuesParameterFormatString="original_{0}" SelectMethod="GetSubList" 
    TypeName="MApplication"> 
    <SelectParameters> 
     <asp:Parameter Name="UserName" Type="String" DefaultValue="<%= DirectCast(Session("Profile"), PCommon).UserName %>"/> 
     ... 
    </SelectParameters> 
</asp:ObjectDataSource> 

我收到此錯誤信息:

Error 158 Literal content ('<asp:Parameter Name="UserName" Type="String" DefaultValue="') is not allowed within a 'System.Web.UI.WebControls.ParameterCollection'. C:\TFS\pro\OApp\default.aspx 165 

有沒有辦法做到這一點?

回答

2

你必須使用asp:sessionparameter例如:

<selectparameters> 
    <asp:sessionparameter name="UserName" sessionfield="Profile" type="String" /> 
</selectparameters> 

使用嚮導來避免錯誤。


截圖:

enter image description here

+0

感謝。我沒有看到這個嚮導。它如何知道要使用的會話對象? – webdad3 2014-09-26 21:24:11

+1

@ webdad3看到我的編輯,我添加了一個屏幕 – meda 2014-09-26 21:29:59

+1

在代碼隱藏,你也可以做: dataApplications.SelectParameters [「用戶名」] =默認值DirectCast(會話(「檔案」),PCommon).UserName 務必測試會議對象不是首先沒有,所以你不訪問嘗試訪問不存在的對象。 – 2014-09-27 01:33:50

相關問題