gpt4 book ai didi

c# - 单击按钮停止刷新页面

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:59 25 4
gpt4 key购买 nike

我需要使 asp 按钮在单击时不刷新整个页面。

我的代码只是将图片更改为另一张图片,但图片的索引是在页面加载方法中设置的。并且每次点击按钮进入下一张图片索引时,整个页面都会刷新并调用页面加载方法。然后将索引设置回 0。

如何让页面在点击按钮时停止调用页面加载方法

这是我正在使用的基本代码

在表格中:

<tr>
<td> <asp:Button ID="Button1" runat="server" Text="Prev" OnClick="Button1_Click" OnClientClick="return false"/> </td>
<td> <img ID="pic" alt="" src="010.JPG" runat="server" width="200" height="200" /> </td>
<td> <asp:Button ID="Button2" runat="server" Text="Next" OnClick="Button2_Click" OnClientClick="return false"/> </td>
</tr>

这是.cs文件

private List<String> imagePathList = new List<String> { };
private List<Boolean> isActivePath = new List<Boolean> { };

protected void Page_Load(object sender, EventArgs e)
{
Debug.WriteLine("GALLARY *page load*");

pic.Width = 200;
pic.Height = 200;

addToList();

getImagePath(1);
}
protected void Button1_Click(object sender, EventArgs e)
{
Debug.WriteLine("GALLARY *Button1_Click*");
int index = getActive();
getImagePath(index = index - 1);
}
protected void Button2_Click(object sender, EventArgs e)
{
Debug.WriteLine("GALLARY *Button2_Click*");
int index = getActive();
getImagePath(index = index + 1);
}

private void getImagePath(int index)
{
Debug.WriteLine("GALLARY *getImagePath* index = "+index);
int length = imagePathList.Count;

if (index < length && index >= 0)
{
//pic.Src = imagePathList[index];
//pic.Alt = imagePathList[index];
pic.Src = imagePathList[index];
pic.Alt = imagePathList[index];
setActive(index);
}
else
{
pic.Src = "DOES NOT EXIST";
pic.Alt = "DOES NOT EXIST";
}
}

private void addToList()
{
Debug.WriteLine("GALLARY *addToList*");
imagePathList.Clear();
isActivePath.Clear();

addImage("08.JPG");
addImage("09.JPG");
addImage("010.JPG");
addImage("011.JPG");
addImage("012.JPG");
}

private void addImage(String filename)
{
Debug.WriteLine("GALLARY *addImage* filename = "+filename);
imagePathList.Add(filename);
isActivePath.Add(false);
}
private void setActive(int index)
{
Debug.WriteLine("GALLARY *setActive* index = " + index);
for (int i = 0; i > isActivePath.Count; i++)
{
isActivePath[i] = false;
}

isActivePath[index] = true;
}
private int getActive()
{
Debug.Write("GALLARY *getActive*");
int temp = 0;
for (int i = 0; i > isActivePath.Count; i++)
{
if (isActivePath[i] == true)
{
temp = i;
}
}
Debug.WriteLine("index = " + temp);
return temp;
}

最佳答案

您需要使用 UpdatePanel 进行部分更新。

<asp:ScriptManager runat="server"></asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Always" >
<ContentTemplate>
<asp:Image ID="Image1" runat="server" Height="23px" Width="24px" />

<asp:Button ID="btnImageChange" runat="server" Text="Check" OnClick="btnImageChange_Click1" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnImageChange" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

然后在.cs后面的代码中这样写:

protected void btnImageChange_Click1(object sender, EventArgs e)
{
// you can add a loop here for the list of images...
Image1.ImageUrl = "~/Images/loading.gif";

}

关于c# - 单击按钮停止刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15760101/

25 4 0
文章推荐: javascript - 向上/向下键盘箭头自动滚动
文章推荐: java - 如何实现Oauth 2.0客户端处理在数据库中存储refreshToken?
文章推荐: Java 在执行 Activity 中的代码之前等待线程(在另一个类中)完成
文章推荐: html - 将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com