如何将 C# 变量添加到 html 模态

How to add C# variables to html modal

在我的 ASP.Net 应用程序中,我有一个启动模式的按钮。 onClick 事件触发启动模态的 C# 隐藏代码。然后我调用数据 table 并使用数据 table:

中的值填充字符串变量
   protected void uxTicketHistoryButton_Click(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript(this.GetType(), "key", "launchModal();", true);

        DataTable ticketHist = _dtMgr.GetContactInfoByName(uxContactDropdownList.SelectedValue);
        string rName = ticketHist.Rows[0]["RequestorName"].ToString();
        string rPhone = ticketHist.Rows[0]["RequestorPhone"].ToString();
        string rPhoneExt = ticketHist.Rows[0]["RequestorPhoneExt"].ToString();
        string rEmail = ticketHist.Rows[0]["RequestorEmail"].ToString(); ;
        string rState = ticketHist.Rows[0]["RequestorState"].ToString();
        string rOrg = ticketHist.Rows[0]["RequestorOrg"].ToString();
    }

我现在要做的是将这些变量值添加到面板内的模态中。

<asp:Button ID="uxTicketHistoryButton" runat="server" Text="Show Ticket History"  style="color: blue;" OnClick="uxTicketHistoryButton_Click"/>&nbsp;

<!-- ModalPopupExtender-->
    <ajaxToolkit:ModalPopupExtender ID="uxTicketHistoryModal" runat="server" PopupControlID="Panel1" TargetControlID="uxTicketHistoryButton"CancelControlID="btnClose" BackgroundCssClass="modalBackground">
    </ajaxToolkit:ModalPopupExtender>
    <asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" align="center" style = "display:none">                                
        **** Add variable values here ****
        <asp:Button ID="btnClose" runat="server" Text="Close" />
    </asp:Panel> 

如何将我的 .cs 文件中的变量添加到我的 .aspx 文件中的模态面板,使其显示如下({ } 中的值)?

更新 这个问题似乎与模态干扰我按钮的 _Click 事件功能有关。我已经发布了一个 来解决这个问题。那么,我相信以下解决方案之一可能会奏效。谢谢大家!

网络表单:

   <asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" align="center" style = "display:none">                                
            Name: <asp:Literal ID="Name" runat="server" /><br>
            Organization: <asp:Literal ID="Organization" runat="server" /><br>
            etc....
            <asp:Button ID="btnClose" runat="server" Text="Close" />
    </asp:Panel>

代码隐藏:

Name.Text = ticketHist.Rows[0]["RequestorName"].ToString(); 
Organization.Text = ticketHist.Rows[0]["RequestorOrg"].ToString()

您可以使用 ASP.NET Razor 将 post 您的 c# 变量直接放入 html。

例如

<!-- Single statement block -->
@{ var myMessage = "Hello World"; }

<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p> 

<!-- Multi-statement block -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>

您可以使用 getset 方法将您的变量 post 从您的 .cs 发送到模态。

  public class yourModalPage
    {
        public string RequestorName { get; set; }

    }

然后您可以使用

从您的 .cs 向您的模式发送值
yourModalPage.RequestorName = "RequestorName";