シンプルな ASP.NET フォームを持つ SharePoint Web パーツを作成しています。コントロールをレンダリングするために HtmlTextWriter を使用しています。私が抱えている問題は、割り当てた EventHandler をボタンがトリガーしていないように見えることです。
最初に CreateChildControls メソッドでボタンを宣言し、イベント ハンドラーを配線しました。
{
Button submitButton;
submitButton = new Button();
submitButton.Text = "Go!";
submitButton.Click += new EventHandler(submitButton_Click);
Controls.Add(submitButton);
}
「submitButton_Click」EventHandler の機能を宣言しました。
void submitButton_Click(object sender, EventArgs e)
{
submitButton.Text = "Good!";
}
コントロールをレンダリングします。
protected override void RenderContents(System.Web.UI.HtmlTextWriter output)
{
RenderChildren(output);
}
最後に、Web パーツを展開します。カタログに問題なく表示され、ページに追加するとコントロールが表示されます。ただし、ボタンをクリックすると、そのテキストが「Go!」に変わるはずです。良く!" 代わりに、何もしません。私はこれらすべてのテクノロジ (C#、Sharepoint、ASP.NET) にかなり慣れていないので、理解に問題があると確信していますが、ネット上の記事や以前の質問とは異なる手順を試してみてください。私の問題は解決しません。ご覧いただきありがとうございます。
編集: Web パーツを含む SharePoint ページを開き、ボタンは次のように作成されました。
<input type="submit" name="ctl00$PlaceHolderMain$ctl00$ctl04" value="Go!" />
OnClick 値がまったく追加されていないように見えます。これは、EventHandler を追加することでできると思っていたことです。OnClick を完全に間違った方法で追加しようとしていますか? また、ボタン名がコードで宣言したものと一致しない理由もわかりません。