试图连接Html文本框

时间:2015-03-31 20:50:19

标签: html asp.net-mvc concatenation

我试图创建一个文本框,将我的两个文本框字段(Rack和Row)合并为一个。
这是我的代码:

@Html.TextBoxFor(m => m.Server.Rack, new { @class= "form-control" })

@Html.TextBoxFor(m => m.Server.Row, new { @class = "form-control" })

我试图将Server.Rack和Server.Row组合到同一个文本框中。这可能在我的代码中吗?

2 个答案:

答案 0 :(得分:0)

您的表格:

<form>
<input type="text" id="input1" onblur="concat()"/>
<input type="text" id="input2" onblur="concat()"/>
</form>
<p id="concat"></p>

和javascript:

function concat(){
  var x = document.getElementById('input1').innerHTML;
  var y = document.getElementById('input2').innerHTML;
  document.getElementById('concat').innerHTML = x.concat(y);
}

这会做什么: 当文本框松散焦点时,javascript将读取每个文本框中的信息。然后它会将两个文本框的结果(即使一个是空白的)打印到<p id="concat"></p>中。

警告:此代码快速编写,无需检查错误或任何测试。使用前请查看代码。

附加信息:这是客户端,而不是服务器端。

答案 1 :(得分:0)

我认为最好在ViewModel中连接这两个属性,以便可以在不同的视图上使用它,并且可以轻松地评估cane。你应该做的是创建一个ViewModel并添加一个名为RackRow的新属性。然后通过连接Rack和Row属性在控制器上设置此属性,并将其返回到相关的View。

<强>控制器:

public ActionResult Index_Read()
{            
    var result = repository.Server.Select(m => new
    Project.WebUI.Models.ServerViewModel
      {
          Rack = m.Rack,
          Row = m.Row,
          RackRow = m.Rack + " " + m.Row
      }
    );

    return Json(result, JsonRequestBehavior.AllowGet);
 }

希望这会有所帮助......