的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,现有Patinet和一个文本框 选择Patinet名称使用ajax工具包的autocompleteExtender。如果我点击新学生按钮然后我不允许在文本框中填充学生,如果点击现有学生然后允许在文本框中填充学生。我已经设置了标志但是没有解决方案。
答案 0 :(得分: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;
}
它应该经过测试......
答案 1 :(得分:0)
您无法访问Ajax调用中的控件。欲获得更多信息 读这个