-2

Javascript

function btnNewPatientClick()
        {
            hidFlag.value = "false";}
function btnExistingPatient_Click()
        {
            hidFlag.value = "true";}  

ASP..

    <asp:TextBox ID="txtPatientID" AutoCompleteType="Disabled" CssClass="csstextbox"
                                    runat="server"></asp:TextBox><span class="csstexterror">*</span>
                                <asp:AutoCompleteExtender ID="txtPatientID_AutoCompleteExtender" runat="server" ServiceMethod="GetPatientID"
                                    MinimumPrefixLength="1" CompletionSetCount="1" TargetControlID="txtPatientID"
                                    UseContextKey="True" DelimiterCharacters="" Enabled="True">
                                </asp:AutoCompleteExtender>

C#

 static string flag = "";
 protected void Page_Load(object sender, EventArgs e)
 {
    flag = hidFlag.Value;
 }

 [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
 public static string[] GetPatientID(string prefixText, int count, string contextKey)
 {
     if(flag == "true"){
        ///code to get patientID
     }
 }

新しい Patinet、既存の Patinet、および 1 つのテキスト ボックスの 2 つのボタンがあります。Patinet 名の選択には ajax ツールキットの autocompleteExtender を使用しました。新しい学生ボタンをクリックすると、テキストボックスに学生を入力することを許可しません.既存の学生をクリックすると、テキストボックスに学生を入力することを許可します.フラグを設定しましたが、解決策は何ですか.

4

2 に答える 2

1

次の手順を実行します:

1)更新パネルのボタンを取得します。

<asp:UpdatePanel ID="updatePanel" runat="server">
        <ContentTemplate>
            <asp:Button ID="btnUpdatePanel" runat="server" OnClick="btnUpdatePanel_Click" Style="display: none;" />
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnUpdatePanel" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>

2) javascript から更新パネル ボタン クリックを呼び出します。

function btnNewPatientClick()
        {hidFlag.value = "false";
            btnUpdatePanel.click();
//rest of ur code...}

3)サーバー側のボタンをクリックして、hiddenFiled値でフラグ値を変更します。

protected void btnUpdatePanel_Click(object sender, EventArgs e)
    {
        flag = hidFlag.Value;
    }

テスト済みで動作するはずです...

于 2013-03-02T06:47:56.103 に答える
0

Ajax呼び出しでコントロールにアクセスすることはできません。詳細については、こちらをお読みください

  1. Ajaxとページコントロール
于 2013-03-01T13:02:48.180 に答える