5

我想在 C# 中做这样的事情

var id = "myID";
id.innerText = "Hello World";

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

4

2 回答 2

9

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

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

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

于 2013-01-15T23:30:54.570 回答
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;
   }
}
于 2013-01-15T23:32:03.720 回答