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

问题描述 投票:3回答:2

在我的ASP.Net应用程序中,我有一个启动模态的按钮。 onClick事件触发启动模态的代码后面的C#。然后我调用数据表并使用数据表中的值填充字符串变量:

   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文件中的模式面板中,以便它显示为这样({}中的值)? enter image description here

更新此问题似乎与模式干扰我的按钮的_Click事件功能有关。我发布了一个additional question来解决这个问题。然后,我相信下面的解决方案之一可能会奏效。谢谢大家!

c# asp.net variables modalpopupextender
2个回答
3
投票

网上表格:

   <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()

1
投票

您可以使用ASP.NET Razor将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方法将你的变量发布到你.c的模态。

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

    }

然后,您可以使用.cs向您的模态发送值

yourModalPage.RequestorName = "RequestorName";
© www.soinside.com 2019 - 2024. All rights reserved.