如何在C#中按ID查找元素

时间:2013-01-15 23:26:31

标签: c# asp.net .net

我想在C#

中做这样的事情
var id = "myID";
id.innerText = "Hello World";

我是新手,我确信这很简单。

2 个答案:

答案 0 :(得分:9)

在ASP.NET中,这几乎不是必需的。例如,如果您有一个名为“txtMyTextBox”的文本框,则可以执行txtMyTextBox.Text = "Hello World";。您可以对具有runat="server"属性的任何元素执行此操作。

如果您需要从字符串中找到它,可以使用FindControl("txtMyTextBox"),但请注意,这不会递归搜索。它只会找到您调用它的控件的直接子项。 (您可以使用recursive algorithm递归查找控件。)

最后,如果你想通过它的HTML ID专门引用一个元素,你就不能这样做。 C#在服务器上运行,无法直接访问该页面。

答案 1 :(得分:1)

有很多方法可以做到这一点

XmlDocument() doc = new XmlDocument();
doc.LoadXml(@"<SomeNodeName id = "myID">Hello World</SomeNodeName>";

那么你在那里提到了innerText就骗了我。

我个人不会这样做,除非我真的不得不这样做。

int positionInArray = myGame.IndexOf("MyDiv" + id.ToString());

上面有一些假设。找出可能出现问题的方法将是一次非常好的学习练习。

提到字典的答案,在有人投票后被删除了,这将是一个更好的方法

public class SomeObject
{
   private Dictionary<int, String> myGames;
   public SomeObject()
   {
      myGames = new Dictionary<int, string>();
   }
   public AddGame(int id, string desc)
   {
       myGames.Add(id,desc);
   }
   public string FindGameById(int id)
   {
      if(myGames.ContainsKey(id))
      {
         return myGames[id];
      }
      return null;
   }
}