我需要在c#中进行回发,我该怎么做? (它不能通过按钮或任何其他元素)只是想在条件满足时引起回发。
类似
If(so and so)
Postback now!
else
Do not post back
答案 0 :(得分:5)
答案 1 :(得分:5)
从评论中看起来你正在使用telerik的RadTabs。您可以在选项卡控件上将AutoPostBack设置为true,以便在用户切换选项卡时强制刷新。
http://www.telerik.com/help/aspnet/tabstrip/tab_server-side%20events.html
答案 2 :(得分:3)
一些教学情境化:你试图在“第二次回发”中调用的任何代码片段,只需在你的“第一次回发”中调用它即可!
示例:
你有一个方法想要在你的“第二回发”中调用Button_Click
吗?只需在你的“第一回发”中调用它:
btnSaveClick(btnSave, null);
答案 3 :(得分:3)
你总是可以做Response.Redirect(Request.RawUrl);
。
你要小心不要造成无休止的重定向循环。
答案 4 :(得分:1)
您无法在代码隐藏中进行回发。您的代码隐藏代码是您的回发代码。你为什么要这样做?也许我们可以帮助您完成程序逻辑
答案 5 :(得分:1)
您想再次呼叫该页面吗?您可以使用Response.Redirect
执行此操作答案 6 :(得分:1)
要在Server代码中强制回发,请使用ClientScript.GetPostBackEventReference()生成执行回发的javascript代码。然后在调用回发javascript的事件处理程序中添加一个启动脚本。
ASPX:
// Do an empty postback that doesn't do anything.
function doPostback() {
<%= ClientScript.GetPostBackEventReference(btnDoPostback, String.Empty) %>;
}
<asp:Button ID="btnDoPostback" runat="server" OnClick="btnDoPostback_Click" Style="display: none;" />
CS:
if (!IsPostBack) {
ScriptManager.RegisterStartupScript(this, this.GetType(), "dopostback", "doPostback();", true);
}
protected void btnDoPostback_Click(object sender, EventArgs e)
{
}
答案 7 :(得分:0)
你的意思是你的.aspx / cshtml页面?如果是,请使用jquery's $.post
如果你真的在一个控制器中(并且你已经在响应回发而运行)那么你应该重构你的代码,这样你可以调用你想要调用的任何逻辑(通过你的'第二个帖子')您现有的位置以及其他邮政行动。