首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“System.Web.Mvc.MvcHtmlString”类型的MVC错误(Razor)值不能转换为“整数”

“System.Web.Mvc.MvcHtmlString”类型的MVC错误(Razor)值不能转换为“整数”
EN

Stack Overflow用户
提问于 2010-11-13 22:45:32
回答 1查看 1.6K关注 0票数 0

我得到了以下错误

”类型的“System.Web.Mvc.MvcHtmlString”值不能转换为“整数”。

在……上面

@Html.ActionLink(“编辑”,“编辑”,“用户”,New With {.id = Model.ID},Nothing)

这是密码

代码语言:javascript
复制
    @If (Model.isUserMatch) Then
    @<div>
        @Html.ActionLink("edit", "Edit", "Users", New With {.id = Model.ID})
        | <a href="#" onclick="jQuery('#OpenID').dialog('open'); return false">manage openids</a></div>
    End If

有人知道这是为什么吗?

编辑:

我被问到视图模型是什么样子的

代码语言:javascript
复制
Imports System.Linq
Imports UrbanNow.Core.Extensions
Namespace Domain
    Public Class UserViewModel
        Public Property UserName As String
        Public Property Email As String
        Public Property Website As String
        Public Property ID As Integer
        Public Property OpenIds As List(Of OpenID)
        Public Property UserAge As String
        Public Property About As String
        Public Property Slug As String
        Public Property LastSeen As String
        Public Property Region As String
        Public Property MemberSince As String
        Public Property Reputation As String
        Public Property isUserMatch As Boolean = False
        Private MarkDownSharp As MarkdownSharp.Markdown

        Public Sub New(ByVal user As User)
            Dim currentuser As Authentication.AuthUserData = Authentication.CustomAuthentication.RetrieveAuthUser
            MarkDownSharp = New MarkdownSharp.Markdown
            With MarkDownSharp
                .AutoHyperlink = False
                .AutoNewLines = True
                .EncodeProblemUrlCharacters = True
                .LinkEmails = True
                .StrictBoldItalic = True
            End With

            ''# We want to ensure that the user has a username, even if they
            ''# haven't set one yet. What this does is check to see if the
            ''# user.UserName field is blank, and if it is, it will set the
            ''# username to "UserNNNN" where NNNN is the user ID number.
            _UserName = If(Not user.UserName Is Nothing, user.UserName, "User" & user.ID.ToString)

            ''# Nothing fancy going on here, we're just re-passing the object from
            ''# the database to the View. No data manipulation!
            _Email = user.Email
            _Website = user.WebSite
            _ID = user.ID
            _MemberSince = user.MemberSince

            ''# Get's a list of all of the user's OpenID's
            _OpenIds = user.OpenIDs.ToList

            ''# Converts the users birthdate to an age representation
            _UserAge = user.BirthDate.ToAge ''# IE: 29

            ''# Because some people can be real ass holes and try to submit bad
            ''# data (scripts and shitè) we have to modify the "About" content in
            ''# order to sanitize it.  At the same time, we transform the Markdown
            ''# into valid HTML. The raw input is stored without sanitization in
            ''# the database.  this could mean Javascript injection, etc, so the
            ''# output ALWAYS needs to be sanitized.
            _About = Trim(Utilities.HtmlSanitizer.Sanitize(MarkDownSharp.Transform(user.About)))

            ''# Removes spaces from Usernames in order to properly display the
            ''# username in the address bar
            _Slug = Replace(user.UserName, " ", "-")

            ''# Returns a boolean result if the current logged in user matches the
            ''# details view of the user in question.  This is done so that we can
            ''# show the edit button to logged in users.
            _isUserMatch = If(currentuser.ID = user.ID, True, False)

            ''# Grabs the users last activity and formats it to a <time> tag
            ''# for use with the timeago jQuery plugin
            _LastSeen = user.ActivityLogs.Reverse.FirstOrDefault.ActivityDate

            ''# Formats the users reputation to a comma Deliminated number 
            ''#    IE: 19,000 or 123k
            _Reputation = user.Reputation.ToShortHandNumber


            ''# Get the name of the users current Region.
            _Region = user.Region.Region.FirstOrDefault
        End Sub

    End Class
End Namespace
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-14 07:26:57

啊,我的“继承”是错的。

我有

代码语言:javascript
复制
@Inherits System.Web.Mvc.ViewPage(Of MyApp.Core.Domain.User)

当我应该用

代码语言:javascript
复制
@ModelType MyApp.Core.Domain.User
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4175124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档