上传图片后如何在页面重新加载后保留引导标签

时间:2016-09-03 13:29:11

标签: asp.net postback hiddenfield

我使用隐藏字段在回发后保持我的标签打开,但是当我上传图像时我必须重新加载页面才能显示图像,当我这样做时,隐藏字段不起作用,haw can i让它发挥作用

HTML

 $status = preg_replace_callback("/((http:\/\/|https:\/\/)[^ )d]+)/",
    function($m) {
        return '<a href=\"$m\" title=\"$m\" >'. ((strlen('$m[0]')>=250 ? substr('$m[0]',0,250).'...':'$m[0]')).'</a>';
    },
    $status);

我的代码隐藏

                                    <%-- Skjult felt med værdien fra menu tabs --%>
                                    <asp:HiddenField ID="HiddenField1" runat="server" Value="#slider" />
                                    <asp:Panel ID="pnlImg" CssClass="pnl-img" DefaultButton="btnGemProfilImg" runat="server">
                                        <asp:Literal
                                            ID="litHentProfilImg"
                                            runat="server" />
                                        <br />
                                        <asp:Label
                                            ID="lbRoterImg"
                                            runat="server"
                                            Text="Roter billede" />
                                        <br />

                                        <%-- mod uret --%>
                                        <asp:ImageButton
                                            ID="ibRoterImgModUret"
                                            ImageUrl="../img/roter-img.png"
                                            Width="25"
                                            ToolTip="Roter billede mod uret"
                                            ValidationGroup="roterImg"
                                            OnClick="ibRoterImgModUret_Click"
                                            runat="server" />

                                        <%-- med uret --%>
                                        <asp:ImageButton
                                            ID="ibRoterImgMedUret"
                                            ImageUrl="../img/roter-img-med-uret.png"
                                            Width="25"
                                            ToolTip="Roter billede med uret"
                                            ValidationGroup="roterImg"
                                            OnClick="ibRoterImgMedUret_Click"
                                            runat="server" />
                                        <br />
                                        <asp:FileUpload
                                            ID="fuProfilImg"
                                            ClientIDMode="Static"
                                            runat="server" />
                                        <br />
                                        <asp:Button
                                            ID="btnGemProfilImg"
                                            ValidationGroup="img"
                                            OnClick="btnGemProfilImg_Click"
                                            CssClass="btn btn-default"
                                            runat="server"
                                            Text="Gem" />
                                        <output></output>
                                        <br />
                                        <asp:Literal
                                            ID="litImgMsg"
                                            runat="server" />
                                    </asp:Panel>

2 个答案:

答案 0 :(得分:0)

在图片上传后重新加载页面时,请在querystring中发送参数http://Host/Page.aspx?afterimage=y

使用jQuery on pageload,读取QueryString参数,如:

function GetQueryStringParams(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}​

var afterimage = GetQueryStringParams('afterimage');
if (afterimage=='y'){
    //play with bootstrap tabs
}

希望这有助于或给出一个想法(至少)。

答案 1 :(得分:0)

您可以检查该回发是否是由fileupload引起的,如果它是由fileupload引起的,那么应用关闭选项卡的逻辑

您可以在此处查看:

 System.Web.UI.Control control = null;
        string controlName = Page.Request.Params["__EVENTTARGET"];
        if (!String.IsNullOrEmpty(controlName))
        {
            control = Page.FindControl(controlName);
        }
        if (control != null)
        {
            if (control.ClientID == "fuProfilImg")
            {
                //your logic
            }
        }