Tag: postback

__doPostBack仅在页面上有LinkBut​​ton,Calendar或WizardStep控件时才有效

我发现__doPostBack存在问题并找到了解决方法。 我正在寻找原因的解释和/或比我的工作更好的解决方案。 场景:我有一个填充了值的下拉列表; “ – 选择 – ”,“一个”和“两个”。 如果用户选择“一个”,则执行客户端脚本。 如果用户选择“两个”,则执行服务器端脚本。 问题:客户端脚本通过调用__doPostBack来启动回发。 但是,除非页面上还有LinkBut​​ton,Calendar或WizardStep控件,否则不会实际发生回发。 我实际上浏览了Visual Studio工具箱中的所有标准工具并对它们进行了全部测试。 它必须是这三者之一。 解决方法:添加由跨度包围的链接按钮,并将显示设置为无。 LinkButton 问题:有人可以提供这种行为的解释或提供比我的“解决方案”更好的解决方案吗? 来源 – Javascript (我把它放在头部标签之间) function DropDownList1_change(elementRef) { var selectedIndex = elementRef.selectedIndex; if (selectedIndex > 0) { var selectedValue = elementRef.options[selectedIndex].value; if (selectedValue == “One”) { alert(“Because you selected ‘One’, special javascript code will be executed”); // Special […]

设置ASP.NET Button属性客户端和读取属性值服务器端

在使用javascript更改属性值后,如何检索Button自定义属性? 例: Asp文件 var btn1 = ‘#’; var btn2 = ‘#’; $(btn1).click(function(e) { e.preventDefault(); $(btn2).attr(“actIndex”, “2”); }); CodeBehind文件 protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) Button2.Attributes.Add(“actIndex”,”1″); } protected void Button2_Click(object sender, EventArgs e) { Button btn = (Button)sender; // this should be 2 if button1 has been clicked string actIndex = btn.Attributes[“actIndex”]; } 如果我单击Button1然后单击Button2 […]

CheckboxList未设置选中,禁用Viewstate

我有一个似乎加载并完成所有操作的CheckboxList,除了当我进行回发时,它不会设置Item.Selected属性。 我为整个页面禁用了viewstate。 我这样加载它(在每次加载时都在Page_Load ): foreach (DataRow service in d.Tables[0].Rows) { cblServices.Items.Add(new ListItem((string)service[“description”], service[“id”].ToString())); } 我的标记很简单: 然后,我基本上使用这样的东西(在按钮的_Click服务器端事件中) foreach(ListItem item in cblServices.Items){ if(item.Selected){ MyLabel.Text+=”selected: “+item.Value+item.Text; } } 并且MyLabel从未添加任何文本。 我可以通过调试器validation它确实到达了_Click的foreach循环,但是没有选择任何项目。 可能是什么原因造成的?

似乎没有为__doPostBack发出正确的GridView标记

我在ASP.Net中使用GridView控件的一个奇怪的行为问我这个问题 (我正在使用C#)。 对于GridView中的每一行,都有一个“编辑”和“删除”链接。 例如编辑有这个javascript:__doPostBack(‘gvwServers’,’Edit$0′) – 显然服务器会弄清楚有人点击了编辑gvwServers第0行。 很公平。 如果我单击“编辑”链接,我会收到一个回发,并重新绘制GridView,并将“编辑”按钮替换为“更新”和“取消”按钮。 标准行为。 现在 – ‘取消’按钮有这个链接javascript:__doPostBack(‘gvwServers’,’Cancel$0′) – 正是我所期待的取消gvwServers第0行。 但是更新按钮有javascript:__doPostBack(‘gvwServers$ctl02$ctl00′,”) 。 这似乎没有任何意义。 这似乎是我的例程处理Update没有被触发的原因。 为什么ASP没有输出正确的回发参数? 我的代码可以在上面的链接中找到。 <asp:Label ID="lblServerName" runat="server" Text='’> <asp:TextBox ID="txtServerName_Edit" runat="server" Text='’> <asp:Label ID="lblAppKey" runat="server" Text='’> <asp:TextBox ID="txtAppKey_Edit" runat="server" Text='’> <asp:TextBox runat="server" ID="txtConnString_Edit" Width="300px" Height="100px" Text='’ TextMode=”MultiLine” >

ASP.NET上的异步回发:点击按钮

我在asp:net中使用AJAX,并试图处理一种情况,其中asp:按钮同时触发javascript方法和codebehind c#方法。 为此,我使用按钮的onclick和onClientClick属性。 我需要回调才能调用代码隐藏但是这个回发会导致javascript无法正常工作,因为变量已经丢失状态。 任何人都可以描述如何处理这个? 可能与ajax和异步回发? 它开始让我有点疯狂! 编辑:javascript实际上是google-map(v3),c#代码用于提交给sql db。 地图在代码隐藏中初始化: protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostBack) { ScriptManager.RegisterStartupScript(this, this.GetType(), “onload”, “initialize_map();”, true); submitButton.Command += new CommandEventHandler(this.submitButton_Click); } } 以下是一些相关代码: (…form stuff…) Pick-Up and Drop-Off Locations …我认为如果我可以让第一个更新面板在按钮点击上回发,第二个面板不回发,并且仍然可以调用代码隐藏按钮。 到目前为止,这一切都没有运气同时发生。

在PostBack之后将数据保存在GridView中

我有一个与SqlDataSource相关联的GridView 。 当我单击一个Button ,我更改了SelectCommand ,然后使用DataBind来更新GridView 。 在PostBack之后,我想要保留最新的Data,我不希望GridView由原始的SelectCommand加载。 我知道这是通过一个名为ViewState的东西完成的,但我没有设法以正确的方式实现它。 我在Grid上尝试了EnableViewState=”true”和EnableViewState=”false” ,没有运气。 码 在启动时, GridView将填充SELECT * FROM USERS的结果。 现在我单击一个Button ,执行以下操作: UsersSource.SelectCommand = “SELECT * FROM USERS WHERE user_id = 1”; GridView1.DataBind(); GridView充满了新的数据。 现在让我们说,我点击一个标题对这个表进行排序,会有一个回发,之后,这个表中的数据将包含第一个查询的结果。 这里有什么需要做的? 更多信息 宣言: 页面加载方法中没有任何内容。

Webforms刷新问题

这可能是每个WebForms开发人员的一个简单问题,但我知道这个场景。 我有一个页面上有一个“ADD”按钮,它会生成一个jquery弹出窗口,用户可以在其中提交一个表单,该表单将向页面上的转发器添加一个条目。 我的问题是,在用户添加项目后,如果他们点击刷新按钮,则该项目将再次添加。 我无法使用page.ispostback来阻止这一点,因为这会阻止原始添加。 我能在这做什么?

FileUpload控件在第二次单击时工作但不首先尝试保存已发布的文件?

我的问题 我设法回答了自己,但是同样的function还有另外一个问题。 由于某种原因,发布文件的保存事件的第一次回发命中Ol’对象未设置为对象错误的实例,但是第二次尝试上载文件并触发我的保存事件(转换为byte []存储为SQL Server BLOB)它确实应该做的一切。 同样的问题在这里 有一个很好的建议使用AJAX AsyncUpload控件,但我坚信要消除原因而不是解决问题。 我将继续沿着这条路走下去,以便最好地了解asp.net等。 你们中间会有一个wizrd可以帮助我找出为什么我在第一次回发时得到“对象引用没有设置为obj的错误”但是第二次它工作正常。 内容页面具有主页面,其在更新面板中包装内容页面。 不是我决定这样做的。 还有一个更新面板,其中包含针对我的保存事件的回发触发器。 你有什么想法?

ASP.net Postback – 滚动到特定位置

我有一个ASP.net WebForms页面,屏幕顶部有很多内容。 它有一个链接按钮,将回发到页面并显示页面的另一部分。 当页面刷新时,我想设置焦点并向下滚动到页面的这一部分。 我试过了 txtField.Focus() 在我的代码后面,它将设置焦点并尝试滚动,但然后滚动回到顶部。 焦点仍然在我的文本框上,但屏幕的位置在最顶层。 链接位于屏幕顶部,导致回发。 我想滚动到屏幕的最底部。 它会短暂地执行此操作,然后向右滚动到顶部。 我试过设置 Page.MaintainScrollPositionOnPostback = false; 但这似乎也没有帮助。 有什么方法可以强迫它去特定的位置吗? 当我使用按钮或链接按钮回发时,是否可以向URL添加锚标记?

如何在PostBack()之后保留只读TextBox的文本?

我有一个ASP.NET TextBox ,我希望它是ReadOnly 。 (用户使用其他控件修改它) 但是当有PostBack() ,文本会重置为空字符串。 据我所知,如果将ReadOnly属性设置为TextBox的True ,则其内容不会通过PostBack()保存。 有没有办法在PostBack()之后保留内容并使TextBox不能被用户编辑? 我试图将Enabled属性设置为False ,但是在PostBack()之后内容仍然没有保存。