使用淘宝ip地址库查询ip信息

作者: 分类: 技术文章 时间: 2014-03-31

淘宝ip地址库 提供免费的ip信息查询,可查询ip所在国家、区域、省份、城市及运营商等信息。不需要认证不需要注册,唯一的小缺陷就是限制美妙查询频率不能高于10次。

github地址为:https://github.com/topdogs/TaobaoIPHelper

示例代码如下:

TaobaoIP result1 = TaobaoIPHelper.GetIP("8.8.8.8");
if (result1.code == 0)
{
    Console.WriteLine(string.Format("调用成功。该ip的国家为{0},省份为{1},城市为{2},运营商为{3}"
        , result1.data.country, result1.data.region, result1.data.city, result1.data.isp)
        );
}
else
{
    Console.WriteLine("失败,原因为:"+result1.errorMsg);
}
TaobaoIP[] result2 = TaobaoIPHelper.GetDomain("lixin.me");
foreach (TaobaoIP item in result2)
{
    if (item.code == 0)
    {
        Console.WriteLine(string.Format("调用成功。该ip的国家为{0},省份为{1},城市为{2},运营商为{3}"
        , item.data.country, item.data.region, item.data.city, item.data.isp)
        );
    }
    else
    {
        Console.WriteLine("失败,原因为:" + item.errorMsg);
    }
}

 

asp.net mvc获取视图的输出内容

作者: 分类: 技术文章 时间: 2014-03-08

asp.net mvc 中使用的razor引擎使得编写视图时非常方便的做出html和动态数据的结合。

所以也经常用PartialView来做数据模板,用以生成格式化的数据文本。如何在代码中获取分部视图的输入呢?

这里使用RenderPartialHtml这个方法。

[codesyntax lang="csharp"]

using System;
using System.Collections.Generic;
using System.Web.Mvc;

namespace MvcApplication1
{
    public class Helper
    {
        /// <summary>
        /// 获取视图的文本输出
        /// </summary>
        /// <param name="cc"></param>
        /// <param name="viewName">视图名称</param>
        /// <param name="model">数据模型</param>
        /// <param name="dict">其他数据字典</param>
        /// <returns></returns>
        public static string RenderPartialHtml(System.Web.Mvc.ControllerContext cc , string viewName, object model, Dictionary<string,object> dict=null)
        {
            IView view = ViewEngines.Engines.FindPartialView(cc, viewName).View;
            if (view != null)
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                using (System.IO.StringWriter writer = new System.IO.StringWriter(sb))
                {
                    ViewDataDictionary vd = new ViewDataDictionary(model);
                    if (dict != null && dict.Count > 0)
                    {
                        foreach (string  key in dict.Keys)
                        {
                            vd.Add(key, dict[key]);
                        }
                    }
                    ViewContext viewContext = new ViewContext(cc, view, vd, new TempDataDictionary(), writer);
                    view.Render(viewContext, writer);
                    writer.Flush();
                }
                return sb.ToString();
            }
            else
            {
                return "";
            }
        }
    }
}

[/codesyntax]

 

举个例子,如下的视图(Partial1.cshtml)内容:

阅读全文»