小编thd*_*thd的帖子

在EF实体的非null属性上使用Html.TextBoxFor显示空文本框

我正在使用Entity Framework(v4)实体.我有一个名为Car的实体,其Year属性为integer.Year属性不允许NULL.我的创建视图中有以下内容:

<%= Html.TextBoxFor(model => model.Year) %>
Run Code Online (Sandbox Code Playgroud)

我需要在CarController中的HttpGet Create操作中返回一个新的Car对象(由于其他要求).

目前,Year文本框中显示零,因为Year属性不允许NULL.我想在Create视图中显示一个空文本框.我该怎么做呢?

entity-framework asp.net-mvc-2

18
推荐指数
2
解决办法
2万
查看次数

Retrofit和Jackson以及解析JSON

我正和杰克逊一起使用Retrofit.由于某些原因,我无法解析以下JSON:

[
    {
        "ProfileImage": null,
        "UserName": "joe"
    },
    {
        "ProfileImage": "http://www.example.com/profiles/fileName1.jpg",
        "UserName": "jane"
    },
    {
        "ProfileImage": null,
        "UserName": "john"
    }
]
Run Code Online (Sandbox Code Playgroud)

我得到了这个例外:

Exception in thread "main" retrofit.RetrofitError: java.lang.ClassCastException: 
    sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl 
    cannot be cast to java.lang.Class

at retrofit.RetrofitError.unexpectedError(RetrofitError.java:41)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:294)
at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:182)
at com.sun.proxy.$Proxy5.getReplies(Unknown Source)
at Test.main(Test.java:25)

Caused by: java.lang.ClassCastException: 
    sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl 
    cannot be cast to java.lang.Class

at JacksonConverter.fromBody(JacksonConverter.java:27)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:274)
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

//文件:Test.java:

public class Test { 
    public static void main(String[] args) {

        ObjectMapper mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(new PropertyNamingStrategy
                                                 .PascalCaseStrategy());

        RestAdapter restAdapter …
Run Code Online (Sandbox Code Playgroud)

java android json jackson

14
推荐指数
2
解决办法
2万
查看次数

Google Maps v3地理编码服务器端

我正在使用ASP.NET MVC 3和Google Maps v3.我想在动作中进行地理编码.这是将有效地址传递给Google并获得经度和经度.我见过的所有关于地理编码的在线样本都处理了客户端地理编码.你会如何在使用C#的动作中做到这一点?

c# google-maps-api-3 asp.net-mvc-3

11
推荐指数
1
解决办法
2万
查看次数

fullcalendar - 在月视图中显示半日事件

如何在月视图中显示半天活动?例如,我有一个12小时的活动.我希望该事件的日期单元格只显示半条.那可能吗?如果是这样,你如何实现这个?

fullcalendar

8
推荐指数
1
解决办法
3463
查看次数

验证失败时,TextBox周围出现红色边框

我正在使用ASP.NET MVC 2.

Html.DropDownListFor和Html.TextAreaFor在验证失败时自动获得红色边框.

如何在验证失败时使TextBox的四个边框(使用Html.TextBoxFor)变为红色?

例如,我有一个需要的TextBox,当用户提交表单时没有在文本框中指定值,我希望文本框有红色边框.

validation asp.net-mvc-2

5
推荐指数
2
解决办法
2万
查看次数

用C#用HMAC-MD5签名字符串

我得到了以下HMAC密钥(十六进制格式):

52320e181a481f5e19507a75b3cae4d74d5cfbc328f7f2b738e9fb06b2e05b55b632c1c3d331dcf3baacae8d3000594f839d770f2080910b52b7b8beb3458c08

我需要签名这个字符串:

1100002842850CHF91827364

结果应该是这个(十六进制格式):

2ad2f79111afd818c1dc0916d824b0a1

我有以下代码:

string key = "52320e181a481f5e19507a75b3cae4d74d5cfbc328f7f2b738e9fb06b2e05b55b632c1c3d331dcf3baacae8d3000594f839d770f2080910b52b7b8beb3458c08";
string payload = "1100002842850CHF91827364";

byte[] keyInBytes = Encoding.UTF8.GetBytes(key);
byte[] payloadInBytes = Encoding.UTF8.GetBytes(payload);

var md5 = new HMACMD5(keyInBytes);
byte[] hash = md5.ComputeHash(payloadInBytes);

var result = BitConverter.ToString(hash).Replace("-", string.Empty);
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到结果.我究竟做错了什么?

security hmac c#-4.0

5
推荐指数
2
解决办法
7633
查看次数

FullCalendar-如何禁用上一个按钮

当上个月少于当前月份时,如何禁用prev按钮?

例如,如果当前月份是8月,那么我想禁用上一个月份按钮,以便看不到7月。

jquery fullcalendar

4
推荐指数
2
解决办法
1万
查看次数

使用泛型的C#存储库

我有以下用于单元测试的存储库:

public class MyTestRepository<T>
{
    private List<T> entities = new List<T>();

    public IQueryable<T> Entities
    {
        get { return entities.AsQueryable(); }
    }

    public T New()
    {
        //return what here???
    }

    public void Create(T entity)
    {
        entities.Add(entity);
    }

    public void Delete(T entity)
    {
        entities.Remove(entity);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在New()方法中返回什么?

我试过这个:

    public T New()
    {
        return (T) new Object();
    }
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的单元测试时,这给了我以下异常:

System.InvalidCastException: Unable to cast object of type 'System.Object' to type 'MyCustomDomainType'.
Run Code Online (Sandbox Code Playgroud)

有关如何实现New()方法的任何想法?

c# generics unit-testing repository repository-pattern

2
推荐指数
1
解决办法
394
查看次数

C#处理对象

我知道当你有以下代码时,在StreamReader对象上调用Dispose()方法:

//Sample 1
using (StreamReader sr1 = new StreamReader(@"C:\Data.txt"))
{
    string s1 = sr1.ReadToEnd();
    //Do something with s1...
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您编写这样的代码(示例2),Dispose()方法也会被调用吗?

//Sample 2
StreamReader sr2 = new StreamReader(@"C:\Data.txt");
using (sr2)
{
    string s2 = sr2.ReadToEnd();
    //Do something with s2...
}
Run Code Online (Sandbox Code Playgroud)

c# dispose idisposable

2
推荐指数
2
解决办法
3276
查看次数

改装和授权标头

目前,我正在向请求添加授权标头,如下所示:

文件:SomeFile.cs

public interface ITestApi
{
    [Get("/api/test/{id}")]
    Task<string> GetTest([Header("Authorization")] string authorization, int id);

    [Get("/api/tests/")]
    Task<string> GetTests([Header("Authorization")] string authorization);
}
Run Code Online (Sandbox Code Playgroud)

文件:SomeOtherFile.cs

var username = "xxx";
var password = "yyy";
var authHeader = "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
var baseAddress = "https://my.test.net";
ITestApi myApi = RestService.For<ITestApi>(baseAddress);

int id = 123;
var test= myApi.GetTest(authHeader, id);

var tests = myApi.GetTests(authHeader);
Run Code Online (Sandbox Code Playgroud)

有没有一种方法来全局设置authHeader,这样我就不必将其作为参数传递给每个调用?(我使用的是Refit版本4.6.48)。换句话说,我希望能够进行如下调用:

var test= myApi.GetTest(id);

var tests = myApi.GetTests();
Run Code Online (Sandbox Code Playgroud)

c# refit

2
推荐指数
3
解决办法
2657
查看次数

当MVC客户端执行时挂起,但当客户端是控制台应用程序或测试项目时,执行

我有一个MVC5项目,它在类库项目中使用服务和存储库.当我将以下代码作为MVC项目运行/调试时,执行挂起在"return await client.GetAsync(url);" 在存储库中.没有异常被抛出.

如果我从单元测试或控制台应用程序调用相同的服务代码和存储库代码,那么代码工作正常.

代码有什么问题或者我做错了什么?

//文件:TestController.cs

public ActionResult Index(string q)
{
    //Code

    var mySvc = new MyService();
    var svcResponse = mySvc.GetAsync(q).Result;

    //More code
}
Run Code Online (Sandbox Code Playgroud)

//文件:MyService.cs

public async Task<MyResponse> GetAsync(string q)
{
    var myRepo = new MyRepository();
    var response = await myRepo.GetAsync(q);
    var json = await response.Content.ReadAsStringAsync();
    return JsonConvert.DeserializeObject<MyResponse>(json);
}
Run Code Online (Sandbox Code Playgroud)

//文件:MyRepository.cs

public async Task<HttpResponseMessage> GetAsync(string q)
{
    var url = URL_CONSTANT + q;
    using (var client = new HttpClient())
    {
        return await client.GetAsync(url);   //Execution hangs here when MVC!
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc async-await

1
推荐指数
1
解决办法
91
查看次数

解码字符串以获取值"Indsætning"

我有一个字符串(C#代码),如下所示:

string s = "Indsætning";
Run Code Online (Sandbox Code Playgroud)

它以某种方式编码,我不确定.

我想解码它,以便我得到以下字符串:

Indsætning
Run Code Online (Sandbox Code Playgroud)

我试过了

string s1 = HttpUtility.UrlDecode(s);
string s2 = HttpUtility.HtmlDecode(s);
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到我正在寻找的字符串.

任何帮助表示赞赏.

c# encoding urlencode

0
推荐指数
1
解决办法
150
查看次数