gpt4 book ai didi

c# - 是否可以仅回发特定工具?

转载 作者:行者123 更新时间:2023-11-30 17:28:11 25 4
gpt4 key购买 nike

在我的 aspx 页面上有带有 10 个文本框的输入表单,1 个下拉菜单(自动回发 = 真)和两个按钮。

下拉 SelectedIndexChanged 填充两个文本框值。

按钮 1 名称:“添加” & 按钮 2 名称:“更新”在页面加载时“更新”visible = false

当从 gridview 中点击“编辑”时,“添加”visible = false 和“更新”可见 = 真。由于默认页面加载“更新” visible = false 当我更改下拉列表时,“更新”按钮不可见。

那么是否可以仅回发特定工具(在我的例子中是文本框)?

目前我正在尝试在下拉菜单后面使用以下代码(我知道这很疯狂)

if (addbtn.Visible == true) {Button2.Visible = false;}

else if (addbtn.Visible == false) { Button2.Visible = true;}


页面加载

    protected void Page_Load(object sender, EventArgs e)
{

TextBox15.Enabled = false;
TextBox16.Enabled = false;
Button2.Visible = false;
if (!IsPostBack)
{
bind_dropdown();

}

}

GridView 行命令

protected void GridView1_RowCommand1(object sender, GridViewCommandEventArgs e)
{

if (e.CommandName == "editform")
{
addbtn.Visible = false;
Button2.Visible = true;
}

绑定(bind)下拉列表

private void bind_dropdown()
{
DropDownList1.DataTextField = "CITYNAME";
DropDownList1.DataValueField = "AID";
DropDownList1.DataBind();
}

下拉变化事件

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
{

if (addbtn.Visible == true)
{
Button2.Visible = false;

}
else if (addbtn.Visible == false)
{

Button2.Visible = true;
}
if (DropDownList1.SelectedIndex == 0)
{

TextBox15.Text = "";
TextBox16.Text = "";



}
else
{
try
{

最佳答案

由于您不提供代码,我只能猜测您要实现的目标。

处理此类问题的最佳方法可能是使用 MKH 提议的 AJAX。

如果你不想处理 AJAX,你也可以这样做:

<form id="form1" runat="server">
<div>
<asp:DropDownList runat="server" ID="ddown" OnSelectedIndexChanged="ddown_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>

<asp:TextBox runat="server" ID="tb"></asp:TextBox>

<asp:LinkButton runat="server" ID="btn" OnClick="btn_Click"></asp:LinkButton>
</div>
</form>

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ddown.Items.Add(new ListItem("Default", "-1"));
ddown.Items.Add(new ListItem("text 0", "0"));
ddown.Items.Add(new ListItem("text 1", "1"));
ddown.Items.Add(new ListItem("text 2", "2"));
}
}

protected void btn_Click(object sender, EventArgs e)
{

}

protected void ddown_SelectedIndexChanged(object sender, EventArgs e)
{
tb.Text = ddown.SelectedItem.Text;
btn.Visible = false;
}

这样,您只需将必须初始化一次的代码放入“If(!Page.IsPostBack)”。

然后您可以使用 SelectedIndexChanged 管理“可见”部分。

这个答案并不完整,因为我没有完全理解你需要什么,但如果 AJAX 吓到你,那可以作为一个答案 ;)

关于c# - 是否可以仅回发特定工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53368776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com