编译器错误信息: CS0117: “string”并不包含对“IsNullOrEmpty”的定义

时间:2020-11-27 03:41:53
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误信息: CS0117: “string”并不包含对“IsNullOrEmpty”的定义

源错误:

 

行 29: 
行 30: void admob_append_params(StringBuilder admob_params, String key, String val) {
行 31:   if (!string.IsNullOrEmpty(val))
行 32:       admob_params.Append("&").Append(HttpUtility.UrlEncode(key, Encoding.UTF8)).Append("=").Append(HttpUtility.UrlEncode(val, Encoding.UTF8));
行 33: }
 

源文件: D:\wwwroot\admobcsharp.aspx    行: 31 

源文件:
<%@ Page Language="C#" %>
<%

Hashtable admobParams = new Hashtable();
admobParams.Add(ADMOB_SITE_ID, "a1475614346a14d");  // REQUIRED - get from admob.com
admobParams.Add(ADMOB_MARKUP, "");      // OPTIONAL - Your site markup, "xhtml", "wml", "chtml"
admobParams.Add(ADMOB_AREA_CODE, "");   // OPTIONAL - Area Code, e.g. "415"
admobParams.Add(ADMOB_COORDINATES, ""); // OPTIONAL - Latitude and Longitude (comma separated), e.g. "37.563657,-122.324807"
admobParams.Add(ADMOB_POSTAL_CODE, ""); // OPTIONAL - Postal Code, e.g. "90210"
admobParams.Add(ADMOB_DOB, "");         // OPTIONAL - Date of Birth formatted like YYYYMMDD, e.g. "19800229"
admobParams.Add(ADMOB_GENDER, "");      // OPTIONAL - Gender, m[ale] or f[emale]
admobParams.Add(ADMOB_KEYWORDS, "");    // OPTIONAL - keywords, e.g. "sports baseball la dodgers"        
admobParams.Add(ADMOB_SEARCH, "");      // OPTIONAL - visitor's search term. e.g. "free games"
// request the ad
Response.Write(admob_ad(admobParams));
%>
<%--
// request more ads by copying this snippet elsewhere on your page
Response.Write(admob_ad(admobParams));
--%>
<script runat="server">
// AdMob Publisher Code
// Language: C# (.NET)
// Version: 20080401
// Copyright AdMob, Inc., All rights reserved

// change to "live" when ready to deploy
const string ADMOB_MODE = "test";

void admob_append_params(StringBuilder admob_params, String key, String val) {
  if (!string.IsNullOrEmpty(val))
      admob_params.Append("&").Append(HttpUtility.UrlEncode(key, Encoding.UTF8)).Append("=").Append(HttpUtility.UrlEncode(val, Encoding.UTF8));
}

string admob_md5(string val) {
  System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
  System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();  
  byte[] hashBytes = md5.ComputeHash(encoding.GetBytes(val));
  StringBuilder md5Val = new StringBuilder();
  foreach (byte b in hashBytes) {
    md5Val.Append(String.Format("{0:x2}", b));
  }
  return md5Val.ToString();
}
void admob_append_headers(StringBuilder admob_params) {
  ArrayList admob_ignore = new ArrayList();
  admob_ignore.Add("PRAGMA");
  admob_ignore.Add("CACHE-CONTROL");
  admob_ignore.Add("CONNECTION");
  admob_ignore.Add("USER-AGENT");
  admob_ignore.Add("COOKIE");
  NameValueCollection admob_names = Request.Headers;
  foreach (string name in admob_names){
    if (!admob_ignore.Contains(name.ToUpper())) {
      string admob_value = string.Join(",", Request.Headers.GetValues(name));
      admob_params.Append("&").Append(HttpUtility.UrlEncode("h[" + name + "]", Encoding.UTF8));
      admob_params.Append("=").Append(HttpUtility.UrlEncode(admob_value, Encoding.UTF8));
    }
  }
}
string admob_ad(Hashtable admobParams) {
  // build url
  StringBuilder admob_post = new StringBuilder();
  admob_post.Append("s=").Append((string)admobParams[ADMOB_SITE_ID]);
  admob_append_params(admob_post, "u", Request.UserAgent);
  admob_append_params(admob_post, "i", Request.UserHostAddress);
  admob_append_params(admob_post, "p", Request.Url.ToString());
  admob_append_params(admob_post, "t", admob_md5(Session.SessionID));
  admob_append_params(admob_post, "e", "UTF-8"); 
  admob_append_params(admob_post, "ma",  (string)admobParams[ADMOB_MARKUP]);
  admob_append_params(admob_post, "v", ADMOB_VERSION);
  admob_append_params(admob_post, "d[pc]", (string)admobParams[ADMOB_POSTAL_CODE]);
  admob_append_params(admob_post, "d[ac]",  (string)admobParams[ADMOB_AREA_CODE]);
  admob_append_params(admob_post, "d[coord]",  (string)admobParams[ADMOB_COORDINATES]);
  admob_append_params(admob_post, "d[dob]", (string)admobParams[ADMOB_DOB]);
  admob_append_params(admob_post, "d[gender]", (string)admobParams[ADMOB_GENDER]);
  admob_append_params(admob_post, "k", (string)admobParams[ADMOB_KEYWORDS]);
  admob_append_params(admob_post, "search", (string)admobParams[ADMOB_SEARCH]);
  admob_append_headers(admob_post);
  if (ADMOB_MODE == "test") admob_post.Append("&m=test");
        
  StringBuilder admob_contents = new StringBuilder();
  try{// request ad
    byte[] admob_post_bytes = System.Text.Encoding.UTF8.GetBytes(admob_post.ToString());
    System.Net.WebRequest admob_request  = System.Net.WebRequest.Create(ADMOB_ENDPOINT);
    admob_request.Method = "POST";
    admob_request.ContentType = "application/x-www-form-urlencoded";
    admob_request.ContentLength = admob_post_bytes.Length;
    admob_request.Timeout = ADMOB_TIMEOUT;
    System.IO.Stream admob_os = admob_request.GetRequestStream();
    admob_os.Write(admob_post_bytes, 0, admob_post_bytes.Length);
    admob_os.Close();
    System.Net.HttpWebResponse admob_response = (System.Net.HttpWebResponse)admob_request.GetResponse();
    System.IO.StreamReader admob_reader = new System.IO.StreamReader(admob_response.GetResponseStream());
    admob_contents.Append(admob_reader.ReadToEnd().Trim());
  }
  catch (Exception){
    admob_contents.Append("<img src=\"http://t.admob.com/li.php/c.gif/u/").Append((string)admobParams[ADMOB_SITE_ID]).Append("/1/").Append(ADMOB_TIMEOUT).Append("/").Append(admob_md5(Request.UserHostAddress)).Append("\" alt=\"\" width=\"1\" height=\"1\" />");
  }
  return admob_contents.ToString();
}
const string ADMOB_ENDPOINT = "http://r.admob.com/ad_source.php";
const string ADMOB_VERSION = "20080401-CSHARP-36372ed0888e5ecd";
const int ADMOB_TIMEOUT = 1000;
const string ADMOB_SITE_ID = "ADMOB_SITE_ID", ADMOB_MARKUP = "ADMOB_MARKUP", ADMOB_POSTAL_CODE = "ADMOB_POSTAL_CODE", ADMOB_AREA_CODE = "ADMOB_AREA_CODE", ADMOB_COORDINATES = "ADMOB_COORDINATES", ADMOB_DOB = "ADMOB_DOB", ADMOB_GENDER = "ADMOB_GENDER", ADMOB_KEYWORDS = "ADMOB_KEYWORDS", ADMOB_SEARCH = "ADMOB_SEARCH";
</script>


新人一个,怎么解决?

13 个解决方案

#1


这个函数是 2.0 新增的
你的网站运行在  1.1 下?

#2


引用 1 楼 Dobzhansky 的回复:
这个函数是 2.0 新增的
你的网站运行在  1.1 下?

#3


编译器错误信息: CS0117: “string”并不包含对“IsNullOrEmpty”的定义

#4


路过,关注....

#5


引用 1 楼 Dobzhansky 的回复:
这个函数是 2.0 新增的 
你的网站运行在  1.1 下?

#6


语句写的没有问题.不过你运行的环境是.net2.0吗?

#7


我已经装了.net framework 2.0了

#8


截图放在3楼

#9


你那个截图只说明 IIS 支持 asp.net 2.0 的网站程序

某个具体的虚拟目录还是可以选择使用 1.1 , 还是 2.0 的
看看虚拟目录的属性

#10


此方法在 .NET Framework 2.0 版中是新增的。

检查一下你的运行环境

#11


编译器错误信息: CS0117: “string”并不包含对“IsNullOrEmpty”的定义

#12


非常感谢Dobzhansky 

问题解决,哈哈 

#13


就是這樣啊~ 

#1


这个函数是 2.0 新增的
你的网站运行在  1.1 下?

#2


引用 1 楼 Dobzhansky 的回复:
这个函数是 2.0 新增的
你的网站运行在  1.1 下?

#3


编译器错误信息: CS0117: “string”并不包含对“IsNullOrEmpty”的定义

#4


路过,关注....

#5


引用 1 楼 Dobzhansky 的回复:
这个函数是 2.0 新增的 
你的网站运行在  1.1 下?

#6


语句写的没有问题.不过你运行的环境是.net2.0吗?

#7


我已经装了.net framework 2.0了

#8


截图放在3楼

#9


你那个截图只说明 IIS 支持 asp.net 2.0 的网站程序

某个具体的虚拟目录还是可以选择使用 1.1 , 还是 2.0 的
看看虚拟目录的属性

#10


此方法在 .NET Framework 2.0 版中是新增的。

检查一下你的运行环境

#11


编译器错误信息: CS0117: “string”并不包含对“IsNullOrEmpty”的定义

#12


非常感谢Dobzhansky 

问题解决,哈哈 

#13


就是這樣啊~