C#中我整了验证控件,没填资料就想取消该页面,但是不能取消是啥回事啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中我整了验证控件,没填资料就想取消该页面,但是不能取消是啥回事啊相关的知识,希望对你有一定的参考价值。

C#中我整了验证控件,没填资料就想取消该页面,但是不能取消是什么回事啊

“取消”按钮有一个CausesValidation的属性,默认为true,设为false就可以了,就是在点击该按钮的时候不进行验证。 参考技术A 将“取消”按纽的ValidationGroup属性和验证控件的ValidationGroup属性设置成不同的值 参考技术B 没有太明白你的意思。
如果你是想关闭页面的话可以给取消按钮加上onClick="javascript:self.close();"

从 InnerHTML 中的代码隐藏向页面添加 ASP 控件

【中文标题】从 InnerHTML 中的代码隐藏向页面添加 ASP 控件【英文标题】:Adding a ASP Control to page from Code Behind within InnerHTML 【发布时间】:2013-12-01 22:10:15 【问题描述】:

我正在尝试从后面的代码向网页添加一个按钮。我的主页上有一个空 div,需要时可以打开和关闭。但是,我希望动态创建的内容,因为 div 内容可以根据条件而变化。

我意识到在我的 ASP 控件中我使用了 /(反斜杠)来取消我的 HTML。我现在遇到的问题是了解如何使用代码解决这个问题,有没有办法将 ASP 控件添加到网页?我愿意接受 InnerHtml 之外的建议。

我正在像这样创建我的按钮(在我的代码后面):

      string buttonout = string.Format("<asp:Button ID=\"helpButton_0\" CommandArgument=\"0\" CssClass=\"HelpButton\" runat=\"server\" Text=\"?\"/>");
      innercontent[0] = string.Format("<table><tr><td>Lead Passenger Information</td></tr><tr><td>Here by deafaul we used your detaisl from your profile, if you're not the lead passenger (As in you're booking for someone else) then please change details.</td></tr><tr><td>0</td></tr></table>"+ buttonout);

如上所述,我认为这不起作用的原因是 InnerHtml 讨厌反斜杠。

我确实有办法解决这个问题;那就是向页面添加更多的 div。

        <div id="HelpBoxDiv" runat="server" Visible="false">
            <div id="HelpBoxDiv_Top" runat="server" Visible="true">
            </div>
            <div id="HelpBoxDiv_Bottom" runat="server" Visible="true">
                <asp:Button ID="button_HelpBox_false" runat="server" />
            </div>
        </div>

然后我会将我的 Innerhtml 添加到 _Top Div,而不是我现在正在做的 HelpBoxDiv。然而,这个解决方案并没有教给我任何东西。

我很犹豫在这里问问题,因为我知道已经问了很多问题,而且我相信这个问题以前也有,但我没有找到解决方案。非常感谢任何帮助。

谢谢。

【问题讨论】:

我讨厌人们只链接我的 MSDN 文章,但这些对于您需要做的事情应该非常有用。您可以通过编程方式创建在设计时可用的每个控件。这些链接应该向您展示如何操作,而不是在 HTML 标记中插入 HTML 字符串。 msdn.microsoft.com/en-us/library/kyt0fzt1(v=vs.110).aspxmsdn.microsoft.com/en-us/library/… 我真的不介意,您的评论无疑会让我找到更清洁的解决方案。 如果您有任何问题,请发表评论,我稍后会尝试回复此问题,目前正在工作:) 【参考方案1】:

我意识到在我的 ASP 控件中我使用了 /(反斜杠) 取消了我的 HTML。我现在遇到的问题是了解我如何能够 用代码解决这个问题,有没有办法将 ASP 控件添加到 网页?我愿意接受 InnerHtml 之外的建议。

您不能像文字字符串那样添加 ASP.Net 服务器控件。

相反,您希望将动态服务器控件添加到以下方法 -

ASPX

<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>

代码隐藏

protected void Page_Init(object sender, EventArgs e)

    var button = new Button
    
        ID = "helpButton_0",
        CommandArgument = "0",
        CssClass = "HelpButton",
        Text = "?"
    ;
    button.Command += button_Command;
    PlaceHolder1.Controls.Add(button);


private void button_Command(object sender, CommandEventArgs e)

    // Handle dynamic button's command event.

【讨论】:

以上是关于C#中我整了验证控件,没填资料就想取消该页面,但是不能取消是啥回事啊的主要内容,如果未能解决你的问题,请参考以下文章

怎么取消登录百度云时的手机验证码?

从 InnerHTML 中的代码隐藏向页面添加 ASP 控件

C#:取消 BeginInvoke()

跨域访问sessionid不一致问题

c# 如何切换窗口

.net(c#)Repeater控件问题