私はjQueryとJavaScriptに少し慣れていないので、問題が発生しました。
Gridview内のButtonFieldからjQueryUIダイアログボックスを開くのに問題があります。
<asp:ButtonField ButtonType="link" Text="Modify Deadline" Visible="true" runat="server" CommandName="modifyDeadline" ControlStyle-CssClass="button" ItemStyle-CssClass="sliderPopupOpener"/>
最初に、上記にクラスを指定して、sliderPopupOpenerという名前を付け、以下のようにクリックするとjQueryポップアップを開くようにしました。
$(".sliderPopupOpener").click(function () {
$("#sliderPopup").dialog("open");
});
しかし、これはポストバックのために機能しませんでしたが、それを除けば、私のアプローチでも機能しません。jQuery UIダイアログを表示する前に、データベースからデータを取得したいので。したがって、最善のアプローチは、CodeBehindからDialog関数を呼び出すことだと思います。
これどうやってするの?
私はこのアプローチを試しましたが、うまくいきませんでした。何か間違ったことをしているのかどうかわかりません。
if (e.CommandName == "modifyDeadline")
{
string sliderPopupFunction = @" <script type=""text/javascript"">
$(function () {
jQuery(function () {
$(""#sliderPopup"").dialog(""open"");
}
});
</script>";
ClientScript.RegisterStartupScript(typeof(Page), "key", sliderPopupFunction);
}
上記は可能ですか?もしそうなら、私は何を間違っていますか?
編集:
コードビハインドからjQuery関数を呼び出すだけでこれが可能かどうかを私に伝えるのではなく、誰もがこれを回避する方法で答えを出していることに気づきました。他のソリューションには感謝していますが、すべての準備が整っているので、コードビハインドを使用して、最小限の労力でこれを機能させることができれば幸いです。