在静态方法中使用hiddenfield值更新标志值

本文关键字:更新 标志 hiddenfield 静态方法 | 更新日期: 2023-09-27 18:01:55

Javascript

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

ASPX

    <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
     }
 }

我有两个按钮NEW Patinet、Existing Patinet和一个文本框用于选择Patinet名称使用ajax工具包的autocompleteExtender。如果我点击"新建学生"按钮,那么我不允许在文本框中填充学生,如果点击"现有学生",那么允许在文本盒中填充学生。我已经设置了flag,但没有通过解决方案。

在静态方法中使用hiddenfield值更新标志值

按照以下步骤操作:

1( 更新面板中的Take按钮。

<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;
    }

它应该经过测试。。。

您不能访问Ajax调用中的控件。了解更多信息读取此

  1. Ajax和页面控件