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

Javascript 当弹出警报框时,背景变为空白,javascript,asp.net,c#-2.0,Javascript,Asp.net,C# 2.0,我的网站在.NETFramework2.0中。我正在使用javascript提供的警报和确认对话框 我面临的问题是,当警报框弹出时,背景变为空白,用户无法查看他/她正在工作的内容 而“确认”对话框中不会发生同样的情况。由于我的应用程序在2.0中,因此我无法找到相应的解决方案 现在我的问题是,为什么确认对话框显示背景,但警报不显示,以及我应该做哪些更改,以便在警报框出现时也可以查看背景 以下是代码片段: 当我使用下面的确认对话框时,我可以查看背景: btnDeleteGroup.Attribute

我的网站在.NETFramework2.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();
}
如果上述问题需要任何额外信息,请告知我

以下是的设计代码。当用户单击AddReceipent按钮时,需要弹出警报

<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);
}

功能选项卡Strip1\u单击(索引)
{
var f=文件.表格[0];
f['TabStrip1_Index'].值=索引;
f、 提交();
}

您的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);
}
public void BrowserMessage(字符串消息)
{
Message=Message.Replace(@“\”,@“\”).Replace(“\n”,@“\n”);
输出JavaScript(消息);
} 
public void OutputJavascript(字符串消息)
{
字符串输出=@“警报(“+”消息+“);”;
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),“UserPopup”,输出);
}

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


您最好将其作为标签放在收件人框下方,然后将其放入邮件中,并在回邮时将其涂成红色。

请显示您的html!如果我没记错的话,你在问这个问题你想说什么?Sry Daniel,我只是复制了需要触发事件的按钮后面的代码。我希望这是你想要的,生成的html会更好。它不起作用。我的背景还是空的。