私のページには3つのユーザーコントロールがあります。このユーザー コントロールの 1 つは fileUploading に関するもので、2 つ目は fileUploade Keyword に関するものです。ファイルがアップロードされると、fileUploading usercontrol は挿入された記録の Id を返します。今、私はこのIDをfileUploadedキーワードで使用したいのですが、ファイルアップロードユーザーコントロールでIDを表示するためにラベルに挿入すると、たとえば1または2または..の適切なIDが表示されますが、キーワードusercontrolでは0値のみが表示されます。私はエンティティフレームワークを使用しています。キーワード ユーザー コントロールでこの ID にアクセスするにはどうすればよいですか。ありがとう。
3302 次
2 に答える
2
セッション変数はおそらく最良の方法です。
于 2012-04-14T05:42:03.533 に答える
0
デリゲートを使用して、ID を親ページに戻すことができます。id が親ページに戻されると、キーワード usercontrol でパブリック関数を呼び出す関数を親ページで実行します。
Uploading ユーザー コントロールで、まず親ページがリッスンするデリゲートを作成します。
public delegate void PassIDToParent(string ID);
public event PassIDToParent PassID;
次に、id が返されたらデリゲートを起動します。
protected void Upload() //--- this is your current upload function
{
//--- other upload code
string ReturnedID = "1"; //--- whatever is returned
PassID(ReturnedID);
}
次に、親ページでリスナーをセットアップする必要があります。リスナーが実行されると、「PassID」関数が実行されます。この関数では、キーワード usercontrol のパブリック関数「LoadID」を呼び出します。したがって、親ページで次のようにします。
protected void Page_Load(object sender, EventArgs e)
{
//--- setup the listener to receive the uploaded id
UploadUserControlID.PassID += new UploadUserControlID_ClassName.PassIDToParent(PassID);
}
protected void PassID(string id)
{
//--- this method is called from the listener above and it passes the id
KeywordUserControlID.LoadID(id);
}
キーワード usercontrol のコードは次のようになります。
public void LoadID(string id)
{
//--- do whatever you need to with the id
}
デリゲートの使用に関する詳細は次のとおりです。 http://webdeveloperpost.com/Articles/Return-value-from-user-control-in-ASP-NET-and-C-Sharp.aspx
それが役立つことを願っています! 幸運を!回答としてマークすることを忘れないでください!
于 2012-04-15T00:02:13.117 に答える