C# 类似MVC 3的远程属性

C# 类似MVC 3的远程属性,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我需要类似远程属性的函数,但不是为了验证,而是为了更新其他字段示例: public class MyModel { public string Name{get;set;} public string Surname{get;set;} [RemoteUpdate("Name,Surname")] public string FullName{get{return Name + " " + Surname}} } 在这种情况下,FullName将只是一个标签。当有人将注意力集

我需要类似远程属性的函数,但不是为了验证,而是为了更新其他字段示例:

public class MyModel
{
  public string Name{get;set;}
  public string Surname{get;set;}

  [RemoteUpdate("Name,Surname")]
  public string FullName{get{return Name + " " + Surname}}
}
在这种情况下,
FullName
将只是一个标签。当有人将注意力集中在
姓名
姓氏
字段之外时,我希望更新
全名


这可能吗?

我建议您使用javascript在客户端完全实现这一点

下面是一个使用jQuery的基本示例:

<html>
<head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
</head>
<body>
    <form>
        Name:
        <input id="name" type="text"/>
        Surname:
        <input id="surname" type="text"/>
        <span id="fullname"></span>
    </form>

    <script type="text/javascript">
        jQuery(document).ready(function() {
         $('#surname, #name').keyup(function() { $('#fullname').text($('#name').val() + ' ' + $('#surname').val()); });
        });
    </script>
</html>

姓名:
姓:
jQuery(文档).ready(函数(){
$('姓,'名').keyup(函数(){$('全名').text($('名').val()+'+$('姓').val()););
});

keyup
事件会在每个按键笔划上更新span标记。如果您只想在离开文本框时更新它,您可以使用
change
事件。

当客户端文本框失去焦点(即模糊)时,您需要使用jQuery.ajax()调用或.get()操作,然后调用远程URL来执行您需要的任何操作。我没有在这里(您可以)将任何参数传递到get请求中,当然这是一个通用的示例-但是这里的想法是关于如何进行远程调用



 <input id="surname" type="text"/>
 <input id="fullname" type="text"/>

<script>
$('#surname').blur(function() {
 $.get('remotefunctions/index', function(data) {
   $('#fullname').html(data);
 });
});
</script>


$('#姓氏').blur(函数(){
$.get('remotefunctions/index',函数(数据){
$('#全名').html(数据);
});
});

服务器端代码与客户端操作混淆。像这样的功能需要使用javascript。如果您创建了属性,它将向页面写入javascript。我需要基于属性生成javascript来实现这一点。抱歉,若我并没有那个么清楚。好的,我并没有那个么清楚,基于属性,我需要生成javascript来调用服务器端代码控制器并更新fullname。