繁体   English   中英

弹出警报框时,背景变为空白

[英]When alert box is popped up, the backgroung goes blank

我的网站在.net framework 2.0中。 我正在使用警报以及javascript提供的确认对话框。

我面临的问题是,当警报框弹出时,背景变成空白,并且用户无法查看他/她正在做什么。

尽管确认对话框不会发生相同的情况。 由于我的应用程序是2.0版,因此无法找到合适的解决方案。

现在,我的问题是为什么确认对话框显示背景但警报没有显示,我将进行哪些更改以便在出现警报框的情况下也可以查看背景?

以下是代码片段:

当我使用下面的“确认”对话框时,我可以查看背景:

btnDeleteGroup.Attributes.Add("onclick","javascript:return confirm('Are you sure you want to delete this group?');");
btnTemplateDelete.Attributes.Add("onclick","javascript:return confirm('Are you sure you want to delete this template?');");

下面是警报对话框的代码。 我希望列表为空时弹出警报框:

private void AddRecipients(String text, ListBox listBox)
{
    ListItemCollection items = new ListItemCollection();
    AddRecipientToList(text, items);

    // No matching recipients
    if (items.Count == 0)
    {
        BrowserMessage("There are no users or groups with this name");         
        return;
}

// Exactly one match found
if (items.Count == 1)
{
    listBox.Items.Add(items[0]);
    return;
} 
}

BrowseMessage函数的定义如下所示:

public void BrowserMessage(string Message)
{
    Message = Message.Replace("\"", "'").Replace(@"\", @"\\").Replace("\n", @"\n");
    OutputJavascript("alert(\""+ Message + "\");");
} 

并且OutputJavascript定义为:

public void OutputJavascript(String script)
{
    ScriptBlock js = new ScriptBlock(this);
    js.AddScript(script);
    js.Register();
}

如果上述问题需要其他信息,请告诉我。

这是设计代码。 用户单击“添加收件人”按钮时,需要弹出警报

<DIV 
STYLE="DISPLAY: inline; Z-INDEX: 100; LEFT: 8px; WIDTH: 72px; POSITION: absolute; TOP: 8px; HEIGHT: 21px" 
MS_POSITIONING="FlowLayout">Subject</DIV>
<DIV 
STYLE="DISPLAY: inline; Z-INDEX: 104; LEFT: 8px; WIDTH: 72px; POSITION: absolute; TOP: 64px; HEIGHT: 21px" 
MS_POSITIONING="FlowLayout">Message</DIV><asp:image id="Image1" style="Z-INDEX: 106;  LEFT: 368px; POSITION: absolute; TOP: 72px" runat="server" ToolTip="Required field"   ImageUrl="..\images\redLed.gif"></asp:image><asp:image id="Image2" style="Z-INDEX: 107; LEFT: 304px; POSITION: absolute; TOP: 40px" runat="server" ToolTip="Required field" ImageUrl="..\images\redLed.gif"></asp:image></DIV>
<DIV CLASS="groupbox" 
STYLE="Z-INDEX: 110; LEFT: 8px; WIDTH: 328px; POSITION: absolute; TOP: 56px; HEIGHT: 248px" 
MS_POSITIONING="GridLayout"><asp:ListBox id="lbRecipients" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 56px" tabIndex="3" runat="server" Width="312px"    CssClass="formtextbox" EnableViewState="False" Height="153px" SelectionMode="Multiple">    
</asp:ListBox>   
 **<asp:Button id="btnRecipientAdd" style="Z-INDEX: 102; LEFT: 216px; POSITION: absolute; TOP: 32px" runat="server" Width="102px" CssClass="formbutton" CausesValidation="False" Text="Add Recipient" EnableViewState="False">    </asp:Button>**

下面是生成的HTML

<script language='javascript'> 
function TabStrip1_Click(index)
{
var f=document.forms[0];
f['TabStrip1_Index'].value=index;
f.submit();
}
</script>
<script language="Javascript"><!--
alert("There are no users or groups with this name");//--></script>
<script language="javascript"><!--
function showMessage(postValue)
{
var f=document.forms[0];
f.__MESSAGENUMBER.value=postValue;
f.submit();
}
//--></script>
<script language="javascript"><!--
function saveRecipients()
{
listSaveContents('lbRecipients', '__RECIPIENTS');
}
//--></script>
<script language="javascript"><!--
function addRecipient(sText,sValue)
{
var op=gE('lbRecipients').options;
op[op.length]=new Option(sText,sValue);
}

您的cs似乎是一种输出javascript警报的非常奇怪的方式...尝试以下操作:

public void BrowserMessage(string Message)
{
    Message = Message.Replace(@"\", @"\\").Replace("\n", @"\n");
    OutputJavascript(Message);
} 
public void OutputJavascript(String message)
{
    string output = @"<script language='javascript'> alert('"+message+"');</script>";
    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UserPopup", output);
}

您正在回发以生成此消息,然后在重新加载页面时将其呈现到页面中。 它是直接内联而不是作为方法呈现的,因此在页面加载时被调用。 因此,在浏览器解析页面以进行渲染时会遇到alert ,它会显示alert ,并在进一步的解析和渲染时暂停。

您最好将其作为标签放置在收件人框的下面,然后将邮件放入邮件并在回发邮件上将其涂成红色。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM