3
Div1.InnerHtml = (someString);

-VS-

Div1.InnerHtml += (someString);


我注意到他们都做同样的事情,但我是否有任何真正的区别+?另外.. & 和
有什么区别?InnerTextInnerHtml

4

6 回答 6

6

+=将附加(someString)到 的现有值Div1.InnerHtml,而=将用替换的值。Div1.InnerHtml(someString)

如果结果相同,则 的起始值Div1.InnerHtml很可能是null( )string.Empty""

关于InnerTextvs InnerHtml: InnerHtml可能会返回类似<h1>Hello World</h1>whileInnerText会返回的东西Hello World(没有实际 HTML 元素的元素的值)。

考虑以下情况:

string someString = "Hello";
string innerHtml = "";

innerHtml += someString; // result will be "Hello"

string someString = "Hello";
string innerHtml = "";

innerHtml = someString; // result will be "Hello"

string someString = "Hello";
string innerHtml = "World";

innerHtml += someString; // result will be "HelloWorld"

string someString = "Hello";
string innerHtml = "World";

innerHtml = someString; // result will be "Hello"
于 2012-06-01T17:40:52.813 回答
4

第一个问题的答案

C# String Append -: += 用现有字符串追加字符串

另一个例子是

string s = "abc";
s+="cde";

output
s = "abcde"

第二个问题的答案

innerText 将按原样检索值,但如果它包含标记,它将按原样呈现文本,而 innerHTML 通过应用 HTML 标记(如果有)来检索值。

于 2012-06-01T17:42:29.613 回答
2

它们根本不是一回事。这是关于字符串操作,而不是与 ASP.NET 相关的特定内容
。第一个将 someString 放在 Div1 的字符串属性 InnerHtml 中,
第二个将 InnerHtml 设置为 InnerHtml +(someString),例如,如果 InnerHtml 包含字符串“aa " 在此操作之前,后一种情况下将变为“aaSomeString”,前一种情况下将变为“SomeString”。

于 2012-06-01T17:43:19.323 回答
1

他们只是在做同样的事情,因为当你做 += 时 Div1 是空的

+= 是附加的,所以如果你连续几次这样做,你会看到你得到了你可能没有预料到的数据。

赋值运算符 (=) 将简单地将 Div1 的值设置为左侧的任何值,而不管之前的值是什么。

于 2012-06-01T17:43:23.420 回答
1
  1. +=是连接(a = a + b 的缩写)

    =将用右侧的新值覆盖该值

  2. innerHtml将允许您添加标签,如<p>div

    innerText将这些标签编码为&lt;p&gt;&lt;div&gt;

于 2012-06-01T17:45:52.043 回答
1

+=速记运算符

例如

i = i + (some value) and i+=(some value) both is same.

所以,一般来说,

Left_Val (operator)= right_val and Left_Val = Left_Val (operator) right_val are same

请注意,运算符应该是二进制的。速记运算符不能与一元(如一元减号)和三元运算符(如?:)一起使用。

于 2012-06-01T17:52:25.223 回答