首页 新闻 赞助 找找看

MVC3中 在一个类创建一个方法 返回页面代码

0
悬赏园豆:20 [待解决问题]

比如输入两个数字

比较这两个数字大小

if(a>b)

返回一个 页面一个<img>的标签内容

反之 返回另一个<img>的标签内容

ourfeel的主页 ourfeel | 初学一级 | 园豆:182
提问于:2012-05-01 11:06
< >
分享
所有回答(4)
0

这个应该没什么问题吧?

sinhbv | 园豆:2579 (老鸟四级) | 2012-05-01 13:35

我需要是怎么做 不是有没有问题

支持(0) 反对(0) ourfeel | 园豆:182 (初学一级) | 2012-05-01 13:42
0
public static class ImageExtensions
{
    public static MvcHtmlString ImageLink(this HtmlHelper htmlHelper, string imgSrc, string additionalText = null, string actionName = null, string controllerName = null, object routeValues = null, object linkHtmlAttributes = null, object imgHtmlAttributes = null)
    {
        var urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url;
        var url = "#";
        if (!string.IsNullOrEmpty(actionName))
            url = urlHelper.Action(actionName, controllerName, routeValues);

        var imglink = new TagBuilder("a");
        imglink.MergeAttribute("href", url);
        imglink.InnerHtml = htmlHelper.Image(imgSrc, imgHtmlAttributes) + " " + additionalText;
        linkHtmlAttributes = new RouteValueDictionary(linkHtmlAttributes);
        imglink.MergeAttributes((IDictionary<string, object>)linkHtmlAttributes, true);

        return MvcHtmlString.Create(imglink.ToString());
    }

    public static MvcHtmlString Image(this HtmlHelper htmlHelper, string imgSrc, object imgHtmlAttributes = null)
    {
        var imgTag = new TagBuilder("img");
        imgTag.MergeAttribute("src", imgSrc);
        if (imgHtmlAttributes != null)
        {
            imgHtmlAttributes = new RouteValueDictionary(imgHtmlAttributes);
            imgTag.MergeAttributes((IDictionary<string, object>)imgHtmlAttributes, true);
        }
        return MvcHtmlString.Create(imgTag.ToString());
    }
}

根据你的要求改一点就可以了。
悟行 | 园豆:12559 (专家六级) | 2012-05-01 14:15

他是用collection的action輸出的。不是這種。其實在action中返回一個josn對象,就好了哦

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-05-01 14:18

@無限遐想: 页面一个<img>的标签内容。他要的可能就是返回一个字符串吧。

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2012-05-01 14:20

@無限遐想: 我要的不是控制器上的  是新建类

支持(0) 反对(0) ourfeel | 园豆:182 (初学一级) | 2012-05-01 14:27
0

        public ActionResult GetPic(int i = 0) {

            var pic = "<img scr='/images/mailIcon.png' />";
          return   Content(pic);
        }

無限遐想 | 园豆:3740 (老鸟四级) | 2012-05-01 14:26

@無限遐想: 我要的不是控制器上的  是新建类

支持(0) 反对(0) ourfeel | 园豆:182 (初学一级) | 2012-05-01 14:28

@小码农: 不明白你的意思。

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-05-01 14:31

@無限遐想: 新建一个类  然后新建一个方法 这方法是比较两个数字的大小。如果大就返回HTML代码 反之 返回另一段。然后在页面上调用这个方法

支持(0) 反对(0) ourfeel | 园豆:182 (初学一级) | 2012-05-01 18:01
0
public class Test{
public static string Compare(int a,int b)
{
       if(a>b)
            return "<img />";
        else 
             return "<img xxxx/>";
}
}

在web工程中导入这个类的dll或直接将此类写在web工程下,前端页面如果是razor引擎的你要这样写@{string str=Test.Compare(1,2);}如果是老的,你改怎么写就怎么写。

az235 | 园豆:8483 (大侠五级) | 2012-05-01 21:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册