问题描述
请注意,此错误不会在我的机器上本地出现,而只会在我发布网络表单后出现。
1-我正在尝试在我的网络表单中创建 Twitter 卡片,因此我为此使用了元标记。
2- 我在 aspx 页面后面的代码中将一些变量声明为公共字符串。
3- 我将元标记添加到 aspx 页面,当我尝试使用 ex 访问这些变量时:
4- 出现此错误:当前上下文中不存在名称“title”。
谁能告诉我出了什么问题>
代码隐藏:
public string title="",desc="",img="",url="";
protected void Page_Load(object sender,EventArgs e)
{
constr = ConfigurationManager.ConnectionStrings["connectionString"].ToString();
conx = new sqlConnection(constr);
string id = Request.QueryString["id"];
if (!IsPostBack)
{
url = HttpContext.Current.Request.Url.AbsoluteUri;
FillData(id);
Page.DataBind();
}
}
protected void FillData(string id)
{
try
{
conx.open();
sqlCommand cmd = new sqlCommand();
cmd.CommandText = "selectListArticle";
cmd.Parameters.AddWithValue("@Id",Convert.ToInt32(id));
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conx;
sqlDataAdapter da = new sqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
title = dt.Rows[0][1].ToString();
lblTitle.Text = title;
lblDate.Text = dt.Rows[0][2].ToString();
desc = dt.Rows[0][5].ToString();
lblintro.Text = desc;
img = "~" + dt.Rows[0][6].ToString();
Image1.ImageUrl = img;
Image1.AlternateText = dt.Rows[0][8].ToString();
string tags = dt.Rows[0][4].ToString();
bindTags(tags);
}
}
finally
{
conx.Close();
}
}
这是 Aspx 页面:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Article.aspx.cs" Inherits="CosmOnList.Article" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<Meta name="twitter:card" content="summary_large_image"/>
<Meta name="twitter:site" content="@Name"/>
<Meta name="twitter:creator" content="@Name"/>
<Meta name="twitter:title" content="<%= title %>"/>
<Meta name="twitter:description" content="<%= desc %>"/>
<Meta name="twitter:image" content="<%= img %>"/>
</asp:Content>
解决方法
使用 {% extends 'base.html' %}
{% block title %}Log_In{% endblock %}
{% block head %}
<!-- Head Stuff -->
{% endblock %}
{% block body %}
<h1>{{ name }} Log_In</h1>
<form action='' method='POST'>
Username: <input type='text' name='username' id='username_entry'>
<br>
Password: <input type='password' name='password' id='password_entry'>
<br>
<input type='submit' name='submit_button' id='submit_button'>
</form>
<hr>
{% endblock %}
事件的示例。
在嵌入代码 (Page_Load
) 中使用 数据绑定 代码。
aspx:
<%#
代码隐藏:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
<meta name="twitter:title" content="<%# title %>" />
</asp:Content>