2015-09-01 41 views
3

好了,所以我有一个起始日期字段:根据日期时间字段填充文本框。 ASP.NET C#JS

<asp:TextBox ID="txtnewStartDate" runat="server" Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}")%>' 
        CssClass="datepicker grid_5 text"></asp:TextBox> 

我也有,我想自动填充式的起始日期是一个TextBox。

<asp:TextBox ID="txtDateBatch" Text='<%# Bind("DateBatch") %>' runat="server" CssClass="text"></asp:TextBox> 

因此,例如起始日期字段将是这样的:2015年9月1日基于这个选择的日期有人(在用户已经选择从日期中包含日期)

现在场DateBatch场的样子:批次912015

我已经使用javascript看到一个例子,但林不知道如何从javascript来ASP或C#调用的变量。

的Javascript例如:

<script type="text/javascript"> 
    function autoBatch() { 
     value1 = $('#StartDate').val(); 
     var batch = "Batch-" + value1; 
    } 
</script> 

请让我知道如果我没有足够的信息或更多信息感谢有人需要!我不需要使用任何方法工作的JavaScript我只想了解如何从头到尾如何做到这一点主要困惑如何完全完成这一点。

回答

1

尝试添加OnTextChanged事件的文本框,如下....

<asp:TextBox ID="txtnewStartDate" runat="server" OnTextChanged="txtnewStartDate_TextChanged" Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}")%>' CssClass="datepicker grid_5 text"></asp:TextBox> 

然后在你的代码背后,抓住价值和更新您的DateBatch,如下....

protected void txtnewStartDate_TextChanged(object sender,EventArgs e) 
    { 

    txtDateBatch.Text = txtnewStartDate.Text 

    } 

或添加您的批处理代码.....

protected void txtnewStartDate_TextChanged(object sender,EventArgs e) 
    { 

    txtDateBatch.Text = "Batch-" & txtnewStartDate.Text.replace('/','') 

    } 

类似的东西。

+1

我会使用'string.Format'(个人喜好)。此外,这将需要服务器端回发。从理论上讲,你的解决方案可以起作用,但是如果回发费用昂贵,他真的想要一个客户端解决方案,这是行不通的。 –