【问题标题】:How to pass a variable from .cs to .aspx如何将变量从 .cs 传递到 .aspx
【发布时间】:2014-12-23 09:25:12
【问题描述】:

正如标题所暗示的,我想根据从数据库中获得的一些信息向表(在 aspx 页面内)添加一些内容(因此,如果我在 db 中有一个项目 x,我将在 cs 中创建一个 bool 类型变量) .

我的问题是,是否有任何方法可以将该 bool 发送到 aspx,以便我可以在 if 语句中使用它(以便将相应的列添加到我的表中)。

【问题讨论】:

  • 有几种方法可以实现这一点,这是非常基本的东西。也许你应该多读一点 ASP.NET / WebForms 和/或做一些教程来更好地理解它是如何工作的......
  • 我设法做到了,很抱歉没有阅读,但我需要尽快完成......

标签: c# asp.net data-binding data-transfer


【解决方案1】:

这里不需要session 变量,您可以简单地声明一个类级别的属性并在您的 ASPX 页面中使用它:-

public bool variable { get; set; }

然后直接在你的aspx页面中使用:-

<%=variable %>

【讨论】:

    【解决方案2】:

    你可以将bool的值存储在session中,然后用aspx显示,类似这样的

    bool val;
    // Your code
    Session["value"] = val;
    

    并在aspx如

    中使用
    <%= Session["value"]%>
    

    【讨论】:

      【解决方案3】:

      您可以使用 div 并在 .cs 代码隐藏文件中制作自己的 HTML 代码。 或者,您可以简单地使用一些标签并提供类似的信息。

      html:

      <div>
      <table>
       <tr>
        <td><asp:Label id="somelabel" runat="server" /></td>
       </tr>
      </table>
      

      .cs

      somelabel.Text = "yourdata";
      

      或者您可以将所有 html 代码添加到单个字符串中。那么,如果你的 div 被称为divTable:

      divTable.InnerHtml = liststring;
      

      一个例子:

              liststring = liststring + 
             "<img src=" + SQLdata.Tables[0].Rows[x]["imageSource"].ToString() + 
             "<ul style='list-style-type: none;'>" +
             "<li>" + SQLdata.Tables[0].Rows[x]["Name"].ToString() + "</li>" +
             "<li><b>Adress: </b>" + SQLdata.Tables[0].Rows[x]["Adress"].ToString() + "</li>" +
             "<li><b>Website: </b><a href='http://" + SQLdata.Tables[0].Rows[x]["Website"].ToString() + "'>" + SQLdata.Tables[0].Rows[x]["Website"].ToString() + "</a></li>" + "</ul></div>";
      divTable.InnerHtml = liststring;
      

      当然,您必须使用一些 css 才能获得正确的显示,但我猜这会让您继续前进……

      【讨论】:

      • 在代码隐藏中创建 HTML 是糟糕的设计 IMO - 视图用于 HTML,代码隐藏用于逻辑...
      • 是的,但我只是给他举例
      • OP 似乎是一个初学者,所以你不应该给出“坏例子”IMO,因为 OP 可以把它们当作“要走的路”,因为他/她不知道更好。
      • 简单的人,也许我不知道更好,仍然试图提供帮助?噗。事实上,你是在评论别人的坏例子,但并不关心发布你自己的答案。如果他问简单的问题,那么他会得到简单的答案。就这么简单!
      • 无意冒犯你,抱歉。我们都在这里学习,尝试以您知道的任何方式提供帮助都很好,但其他人的反馈也应该受到重视而不是不尊重。这并不意味着我所说的必须是正确的或“最好的方式”,但在这种情况下,至少有另一个人同意我的观点。正如已经说过的那样,SO 是一个社区,我们都在这里互相学习——我自己经常通过其他人改进、更正或评论我的答案来这样做......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多