- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个列表框,它在单击按钮时填充,然后当用户选择或更改列表框上的索引时,它会下载与其相关的文件。
我遇到的问题是,当他们按下按钮搜索新记录时,它会再次下载文件,但会再次触发下面的代码。我怎样才能阻止它在其他按钮上调用回发?
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string splitval = ListBox1.SelectedValue.ToString();
string[] newvar = splitval.Split(',');
GlobalVariables.attachcrq = newvar[0];
GlobalVariables.num = UInt32.Parse(newvar[1]);
string filename = ListBox1.SelectedItem.ToString();
GlobalVariables.ARSServer.GetEntryBLOB("CHG:WorkLog", GlobalVariables.attachcrq, GlobalVariables.num, Server.MapPath("~/TEMP/") + filename);
FileInfo file = new FileInfo(Server.MapPath("~/TEMP/" + filename));
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.ContentType = ReturnExtension(file.Extension.ToLower());
Response.TransmitFile(file.FullName);
Response.Flush();
Response.End();
}
最佳答案
IsPostback
属性应该在这里使用。
在条件 if(!Page.Ispostback)
中包含您的代码
方法如下:
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) {
if(!Page.IsPostback)
{
string splitval = ListBox1.SelectedValue.ToString();
string[] newvar = splitval.Split(',');
GlobalVariables.attachcrq = newvar[0];
GlobalVariables.num = UInt32.Parse(newvar[1]);
string filename = ListBox1.SelectedItem.ToString();
GlobalVariables.ARSServer.GetEntryBLOB("CHG:WorkLog", GlobalVariables.attachcrq, GlobalVariables.num, Server.MapPath("~/TEMP/") + filename);
FileInfo file = new FileInfo(Server.MapPath("~/TEMP/" + filename));
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.ContentType = ReturnExtension(file.Extension.ToLower());
Response.TransmitFile(file.FullName);
Response.Flush();
Response.End();
}
}
IsPostBack 的 MSDN 引用:
http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx
示例用法:
http://www.geekinterview.com/question_details/60291
希望对你有帮助。
关于c# - asp.net listbox_index 更改后的回传在每个按钮上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16330491/
我有一个非常有趣和烦人的问题。我构建了一个 Facebook Messenger 机器人……一切正常。我有一个 webhook 连接到我的 NodeJS 服务器。在我到达项目的“最后一步”,即永久菜单
有谁知道如何使用 javascript 在 Grails 应用程序中发起 POST 请求。具体来说,我希望能够在下拉框中的所选项目发生更改时进行 POST。 我试过使用 jQuery 和 $.post
我在 ASP.NET 3.5 网站的主页上有一个登录表单,出于性能原因需要使用标准 HTTP 连接访问它。由于 ASP.NET 页面的正常回发是对发布的相对调用,这意味着当浏览器发布时,值会在不 pr
我网站上的一个页面每 15 秒自动重新加载一次。这是通过使用 jQuery 的 .ajax 函数完成的。 我的问题是,每次用户加载页面时,对话框中的表单都可以正常工作。但是当它被页面本身自动重新加载时
如何在 ASP.NET 中使用 javascript 引起回发。 最佳答案 __doPostBack('__Page', 'MyCustomArgument'); 或者如果你只是想要一个回传,你可
我正在学习 javacript,我正准备开始做一些异步的事情。这是我的任务的要点: 我有如下所示的 HTML 代码: Nine 然后我想要一种方法,在 Javascript 中,将点击了#nine 的
我们正在重新开发我们网站的一个主要部分,与其使用 90k AJAX 文件,我宁愿使用 19K jquery 脚本。 我看过以下文章; Using jQuery for AJAX with ASP.NE
在我看来,我有很多奖项,每个奖项中都有相应的资格列表。我创建了一个 ViewModel 来显示每个奖项,单击一个按钮就会出现一个模态及其相关资格,用户可以将其标记为已完成/更新。但是,在发布数据时,它
好的,所以我有一个包含 50 个 ListItem 的 DropDownList 控件,一个对应 50 个州。文本值反射(reflect)了每个状态名称,这使得每个文本值都是唯一的。但是,每个列表项的
我将在我们的一些 Web 应用程序页面上开始一些实验室原型(prototype)。我们使用了很多 Postback、ViewState、UpdatePanels、ModalPopup Extender
PostbackURL 之间的确切区别是什么?按钮的属性并使用 Response.Redirect() 重定向到同一页面到后面代码中按钮单击事件上的相同 URL 以及使用哪一个? 最佳答案 回发 ur
我是一名优秀的程序员,十分优秀!