我有一个.aspx文件:
<%@ Page Language="C#" AutoEventWireup="true" Inherits="baa.foo" CodeFile="foo.aspx.cs" %>
<input runat="server" id="name" name="name" />
和foo.aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace baa
{
public partial class foo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string s = name.Text;
}
}
如何通过name
文件中的foo
类知道.cs
HTML控件?它返回一个错误:
错误61当前上下文中不存在名称“name”
注意:HTML不是我写的。我正在编辑.html页面到.aspx那些以使它们成为dymically并且我能够通过使用C#代码从它们获取值
答案 0 :(得分:1)
默认情况下,ASP.NET文件中的HTML元素被视为 文字文本,您不能在服务器端代码中引用它们。至 以编程方式访问这些元素,您可以指出 通过添加,应将HTML元素视为服务器控件 runat =“server”属性。
并且还
HTML服务器控件必须位于包含表单标记内 runat =“server”属性。
现在您可以从后面的代码访问您的控件,但在这里您无法获得Text
html控件的input
属性,您需要获得Value
属性。
如果将html页面转换为ASPX,则可以使用现有HTML控件替换相关的ASP.NET控件。例如,您可以将输入类型文本与ASP.NET TextBox control
一起使用答案 1 :(得分:0)
使用name.value
代替name.text