【发布时间】:2013-01-09 12:27:06
【问题描述】:
我正在用 ASP.net C# 开发地图应用程序。
我有一个文本框和按钮,可以在邮政编码上搜索数据库并将结果返回到我的 aspx 页面上的网格视图中......
public partial class _Default : System.Web.UI.Page
{
// SDE connection string to extract postcode from ADDRESS (sde) table.
private SqlConnection m_sqlConn;
protected void Page_Load(object sender, EventArgs e)
{
}
private void ShowMsg(string strMessage)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
if (txtPostCode.Text.Length > 0)
{
m_sqlConn = new SqlConnection();
m_sqlConn.ConnectionString = "Data Source=Server1;Initial Catalog=sde;User
ID=Tom;Password = Password1";
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = m_sqlConn;
sqlCmd.CommandType = System.Data.CommandType.Text;
sqlCmd.CommandText = "SELECT * FROM ADDRESS"
+ " WHERE Postcode = '" + txtPostCode.Text + "'";
m_sqlConn.Open();
SqlDataReader reader = sqlCmd.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
}
else
{
ShowMsg("Error - No Postal Addresses Returned");
}
}
catch (Exception ex)
{
ShowMsg("Error - " + ex.Message);
}
}
private bool CloseDB()
{
try
{
m_sqlConn.Close();
return (true);
}
catch (Exception ex)
{
return (false);
}
}
}
这很好用。我现在想在模态弹出窗口中设置数据网格,用户单击搜索按钮并以模态方式返回结果表。我试过用一个假的 ControlID 按钮来设置它,但没有运气......
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Button id="BtnFake" runat="server" Style="display: none"/>
<table id="ModalGrid">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<asp:Button id="Button2" runat="server" Text="OK" />
</table>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="BtnFake" PopupControlID="ModalGrid" DropShadow="false"
BackgroundCssClass="ModalBackground"
CancelControlID="BtnOK" BehaviorID="ModalGrid" RepositionMode="RepositionOnWindowScroll">
</cc1:ModalPopupExtender>
有什么想法吗?确定我在做一些明显错误的事情。干杯。
【问题讨论】:
-
什么意思“但没有运气..”?你使用更新面板吗?为什么将
CancelControlID设置为“BtnOK”而不是“BtnFake”?顺便说一句,请改用using状态。 -
ModalPopupExtender TargetControlID 引用将触发模式的控件,那不是搜索按钮(BtnOk)吗?因为您的代码指向 BtnFake 作为弹出窗口的 TargetControl;
-
谢谢大家。我现在将 BtnOK(搜索按钮)作为目标控件 ID。并且在单击搜索按钮时显示模式弹出窗口但不显示网格视图?
-
@Mt.Schneiders:我假设 OP 想要从代码隐藏中打开模式弹出窗口。然后你需要使用一个不可见的“假”按钮。您可以致电
ModalPopupExtender1.Show()手动显示。 -
@Tim Schmelter:我明白了,我好像误解了他的话。我以为他想在用户单击搜索按钮时打开模式。
标签: c# javascript asp.net ajax modalpopupextender